aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scalar.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/scalar.c b/scalar.c
index fb2940c2a0..6c47afa4ea 100644
--- a/scalar.c
+++ b/scalar.c
@@ -408,6 +408,7 @@ void load_builtin_commands(const char *prefix, struct cmdnames *cmds)
static int cmd_clone(int argc, const char **argv)
{
const char *branch = NULL;
+ char *branch_to_free = NULL;
int full_clone = 0, single_branch = 0, show_progress = isatty(2);
int src = 1;
struct option clone_options[] = {
@@ -487,7 +488,7 @@ static int cmd_clone(int argc, const char **argv)
/* common-main already logs `argv` */
trace2_def_repo(the_repository);
- if (!branch && !(branch = remote_default_branch(url))) {
+ if (!branch && !(branch = branch_to_free = remote_default_branch(url))) {
res = error(_("failed to get default branch for '%s'"), url);
goto cleanup;
}
@@ -542,6 +543,7 @@ static int cmd_clone(int argc, const char **argv)
res = register_dir();
cleanup:
+ free(branch_to_free);
free(enlistment);
free(dir);
strbuf_release(&buf);