diff --git a/remote.go b/remote.go index 6765e45..59a6014 100644 --- a/remote.go +++ b/remote.go @@ -248,6 +248,10 @@ func credentialsCallback(_cred **C.git_cred, _url *C.char, _username_from_url *C ret, cred := callbacks.CredentialsCallback(url, username_from_url, (CredType)(allowed_types)) if cred != nil { *_cred = cred.ptr + + // have transferred ownership to libgit, 'forget' the native pointer + cred.ptr = nil + runtime.SetFinalizer(cred, nil) } return int(ret) }