clear native cred pointer after transfer ownership to libgit

This commit is contained in:
Vladimir Buzuev 2020-03-26 17:30:05 -07:00
parent 033ad6e5ef
commit 89dc80bbea
1 changed files with 4 additions and 2 deletions

View File

@ -254,9 +254,11 @@ func credentialsCallback(_cred **C.git_cred, _url *C.char, _username_from_url *C
return C.GIT_EUSER
}
if cred != nil {
// we are transferring ownership to libgit, have to disable
runtime.SetFinalizer(cred, nil)
*_cred = cred.ptr
// have transferred ownership to libgit, 'forget' the native pointer
cred.ptr = nil
runtime.SetFinalizer(cred, nil)
}
return 0
}