summaryrefslogtreecommitdiff
path: root/src/remote.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2013-03-01 15:37:33 -0600
committerEdward Thomson <ethomson@edwardthomson.com>2013-03-07 11:01:52 -0600
commitd00d54645d931c77a9b401518c0d73e3f640454b (patch)
treee1932dcc97172a53524e9db1ba4923cf137a4f9c /src/remote.c
parent6a9ef012376e8a21dcfd0499ab16048eb6e954c3 (diff)
downloadlibgit2-d00d54645d931c77a9b401518c0d73e3f640454b.tar.gz
immutable references and a pluggable ref database
Diffstat (limited to 'src/remote.c')
-rw-r--r--src/remote.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/remote.c b/src/remote.c
index 0a1f2b856..21ca6ecdb 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -1175,6 +1175,7 @@ static int rename_one_remote_reference(
int error = -1;
git_buf new_name = GIT_BUF_INIT;
git_reference *reference = NULL;
+ git_reference *newref = NULL;
if (git_buf_printf(
&new_name,
@@ -1186,10 +1187,11 @@ static int rename_one_remote_reference(
if (git_reference_lookup(&reference, repo, reference_name) < 0)
goto cleanup;
- error = git_reference_rename(reference, git_buf_cstr(&new_name), 0);
+ error = git_reference_rename(&newref, reference, git_buf_cstr(&new_name), 0);
+ git_reference_free(reference);
cleanup:
- git_reference_free(reference);
+ git_reference_free(newref);
git_buf_free(&new_name);
return error;
}