summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVicent Martí <vicent@github.com>2012-07-13 06:53:33 -0700
committerVicent Martí <vicent@github.com>2012-07-13 06:53:33 -0700
commit68c5ef5cc5392dc3b1895fdc03d4135536a9fa57 (patch)
treeb5b27b9704a8ca2412234316b501c678bb7e3b85 /src
parent9f99c5de2e297a9aabc64b028069a4ca870db9d2 (diff)
parent151d81a647600601a867a1415336b74d4888d7d8 (diff)
downloadlibgit2-68c5ef5cc5392dc3b1895fdc03d4135536a9fa57.tar.gz
Merge pull request #817 from nulltoken/fix/refs-leak
refs: fix a memory leak
Diffstat (limited to 'src')
-rw-r--r--src/refs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/refs.c b/src/refs.c
index 13022c7a5..b3c140bec 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -1397,6 +1397,9 @@ int git_reference_rename(git_reference *ref, const char *new_name, int force)
head_target = git_reference_target(head);
if (head_target && !strcmp(head_target, ref->name)) {
+ git_reference_free(head);
+ head = NULL;
+
if (git_reference_create_symbolic(&head, ref->owner, "HEAD", new_name, 1) < 0) {
giterr_set(GITERR_REFERENCE,
"Failed to update HEAD after renaming reference");