diff options
| author | Adam Berkovec <[email protected]> | 2017-03-23 12:16:43 -0700 |
|---|---|---|
| committer | Can Berk Güder <[email protected]> | 2017-03-23 12:16:43 -0700 |
| commit | de521bb2b4112d7c23d14aa02da63db2da4942f9 (patch) | |
| tree | 5b0b828b29085109ad74855c84854cc1c56d2b59 /patch.go | |
| parent | 4a14260153072e1e0d8e32d9270b30e3acca7c80 (diff) | |
Fix memory leak in Patch.String()
Buffer allocated in Patch.String() was never freed
Signed-off-by: Can Berk Güder <[email protected]>
Diffstat (limited to 'patch.go')
| -rw-r--r-- | patch.go | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -40,15 +40,18 @@ func (patch *Patch) String() (string, error) { if patch.ptr == nil { return "", ErrInvalid } - var buf C.git_buf runtime.LockOSThread() defer runtime.UnlockOSThread() + var buf C.git_buf + ecode := C.git_patch_to_buf(&buf, patch.ptr) if ecode < 0 { return "", MakeGitError(ecode) } + defer C.git_buf_free(&buf) + return C.GoString(buf.ptr), nil } |
