Skip to content

Commit de521bb

Browse files
Adam Berkoveccbguder
authored andcommitted
Fix memory leak in Patch.String()
Buffer allocated in Patch.String() was never freed Signed-off-by: Can Berk Güder <[email protected]>
1 parent 4a14260 commit de521bb

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

patch.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,18 @@ func (patch *Patch) String() (string, error) {
4040
if patch.ptr == nil {
4141
return "", ErrInvalid
4242
}
43-
var buf C.git_buf
4443

4544
runtime.LockOSThread()
4645
defer runtime.UnlockOSThread()
4746

47+
var buf C.git_buf
48+
4849
ecode := C.git_patch_to_buf(&buf, patch.ptr)
4950
if ecode < 0 {
5051
return "", MakeGitError(ecode)
5152
}
53+
defer C.git_buf_free(&buf)
54+
5255
return C.GoString(buf.ptr), nil
5356
}
5457

0 commit comments

Comments
 (0)