summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2017-04-14 10:47:39 +0200
committerGitHub <[email protected]>2017-04-14 10:47:39 +0200
commit490e8a87222c4b857a55185d402739a9e81a552a (patch)
tree44b3947baf73bc05ab4623d6509bde037499d8cb
parent89fc9e776178eeef7ec9b1dba0bfca4580fabc7e (diff)
parentde521bb2b4112d7c23d14aa02da63db2da4942f9 (diff)
Merge pull request #368 from cbguder/master
Fix memory leak in Patch.String()
-rw-r--r--patch.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/patch.go b/patch.go
index 45e14ac..0d0df7f 100644
--- a/patch.go
+++ b/patch.go
@@ -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
}