Commit ca6f203c by schu

reference_rename: make sure old_name gets freed

Signed-off-by: schu <schu-github@schulog.org>
parent b08683ff
...@@ -1290,7 +1290,7 @@ int git_reference_set_target(git_reference *ref, const char *target) ...@@ -1290,7 +1290,7 @@ int git_reference_set_target(git_reference *ref, const char *target)
int git_reference_rename(git_reference *ref, const char *new_name, int force) int git_reference_rename(git_reference *ref, const char *new_name, int force)
{ {
int error; int error;
char *old_name = git__strdup(ref->name); char *old_name = NULL;
char aux_path[GIT_PATH_MAX]; char aux_path[GIT_PATH_MAX];
char normalized[GIT_REFNAME_MAX]; char normalized[GIT_REFNAME_MAX];
...@@ -1328,6 +1328,8 @@ int git_reference_rename(git_reference *ref, const char *new_name, int force) ...@@ -1328,6 +1328,8 @@ int git_reference_rename(git_reference *ref, const char *new_name, int force)
* the new reference, e.g. when renaming foo/bar -> foo. * the new reference, e.g. when renaming foo/bar -> foo.
*/ */
old_name = git__strdup(ref->name);
if (ref->type & GIT_REF_SYMBOLIC) { if (ref->type & GIT_REF_SYMBOLIC) {
if ((target_ref = git_reference_target(ref)) == NULL) if ((target_ref = git_reference_target(ref)) == NULL)
goto cleanup; goto cleanup;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment