Fix memory leak in Patch.String()

Buffer allocated in Patch.String() was never freed

Signed-off-by: Can Berk Güder <cbguder@pivotal.io>
This commit is contained in:
Adam Berkovec 2017-03-23 12:16:43 -07:00 committed by Can Berk Güder
parent 4a14260153
commit de521bb2b4
1 changed files with 4 additions and 1 deletions

View File

@ -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
}