summaryrefslogtreecommitdiff
path: root/patch.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2017-07-08 16:07:51 +0200
committerCarlos Martín Nieto <[email protected]>2017-07-08 16:07:51 +0200
commit55a1096141519a1f380d0702671cfe9bf90ec435 (patch)
tree4a9c1357f3682d4134318e73ef85aa172cbfbd48 /patch.go
parent7d29d6864474525c9853d86996d769a5459dc15d (diff)
Third round of keep-alive aditions
Diffstat (limited to 'patch.go')
-rw-r--r--patch.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/patch.go b/patch.go
index 0d0df7f..75e843c 100644
--- a/patch.go
+++ b/patch.go
@@ -47,6 +47,7 @@ func (patch *Patch) String() (string, error) {
var buf C.git_buf
ecode := C.git_patch_to_buf(&buf, patch.ptr)
+ runtime.KeepAlive(patch)
if ecode < 0 {
return "", MakeGitError(ecode)
}
@@ -83,6 +84,8 @@ func (v *Repository) PatchFromBuffers(oldPath, newPath string, oldBuf, newBuf []
defer runtime.UnlockOSThread()
ecode := C.git_patch_from_buffers(&patchPtr, oldPtr, C.size_t(len(oldBuf)), cOldPath, newPtr, C.size_t(len(newBuf)), cNewPath, copts)
+ runtime.KeepAlive(oldBuf)
+ runtime.KeepAlive(newBuf)
if ecode < 0 {
return nil, MakeGitError(ecode)
}