diff options
| author | Carlos Martín Nieto <cmn@dwim.me> | 2015-03-04 00:29:37 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <cmn@dwim.me> | 2015-03-04 00:29:37 +0100 |
| commit | fe21d708b02c1b35c0ea717889ea633fe78eabaf (patch) | |
| tree | 9749f518a2d4e80c7b44bb238260c45a6b48d65b /src/refs.c | |
| parent | 9ce97782b412edb55b4bf8cb63e863d49745e09d (diff) | |
| download | libgit2-fe21d708b02c1b35c0ea717889ea633fe78eabaf.tar.gz | |
Plug a few leaks
Diffstat (limited to 'src/refs.c')
| -rw-r--r-- | src/refs.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/refs.c b/src/refs.c index 3f6c33dcd..360e65373 100644 --- a/src/refs.c +++ b/src/refs.c @@ -1075,7 +1075,7 @@ int git_reference__update_terminal( const git_signature *sig, const char *log_message) { - git_reference *ref = NULL; + git_reference *ref = NULL, *ref2 = NULL; git_signature *who = NULL; const git_signature *to_use; int error = 0; @@ -1090,18 +1090,20 @@ int git_reference__update_terminal( if (error == GIT_ENOTFOUND && ref) { assert(git_reference_type(ref) == GIT_REF_SYMBOLIC); giterr_clear(); - error = reference__create(&ref, repo, ref->target.symbolic, oid, NULL, 0, to_use, + error = reference__create(&ref2, repo, ref->target.symbolic, oid, NULL, 0, to_use, log_message, NULL, NULL); } else if (error == GIT_ENOTFOUND) { giterr_clear(); - error = reference__create(&ref, repo, ref_name, oid, NULL, 0, to_use, + error = reference__create(&ref2, repo, ref_name, oid, NULL, 0, to_use, log_message, NULL, NULL); } else if (error == 0) { assert(git_reference_type(ref) == GIT_REF_OID); - error = reference__create(&ref, repo, ref->name, oid, NULL, 1, to_use, + error = reference__create(&ref2, repo, ref->name, oid, NULL, 1, to_use, log_message, &ref->target.oid, NULL); } + git_reference_free(ref2); + git_reference_free(ref); git_signature_free(who); return error; } |
