From: Junio C Hamano Date: Tue, 9 Sep 2014 19:54:01 +0000 (-0700) Subject: Merge branch 'sb/plug-leaks' X-Git-Tag: v2.2.0-rc0~162 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/27fbcf8267ecc484cafdbfe84a3aaf2f373f3e2a?hp=a75e759e595bf79d69841e6822784164da54ac23 Merge branch 'sb/plug-leaks' * sb/plug-leaks: clone.c: don't leak memory in cmd_clone remote.c: don't leak the base branch name in format_tracking_info --- diff --git a/builtin/clone.c b/builtin/clone.c index bbd169ceb4..dd4092b050 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -1004,5 +1004,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix) strbuf_release(&key); strbuf_release(&value); junk_mode = JUNK_LEAVE_ALL; + + free(refspec); return err; } diff --git a/remote.c b/remote.c index 846cd1969c..0e39b2442d 100644 --- a/remote.c +++ b/remote.c @@ -1949,7 +1949,7 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs) int format_tracking_info(struct branch *branch, struct strbuf *sb) { int ours, theirs; - const char *base; + char *base; int upstream_is_gone = 0; switch (stat_tracking_info(branch, &ours, &theirs)) { @@ -1965,8 +1965,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) break; } - base = branch->merge[0]->dst; - base = shorten_unambiguous_ref(base, 0); + base = shorten_unambiguous_ref(branch->merge[0]->dst, 0); if (upstream_is_gone) { strbuf_addf(sb, _("Your branch is based on '%s', but the upstream is gone.\n"), @@ -2012,6 +2011,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) strbuf_addf(sb, _(" (use \"git pull\" to merge the remote branch into yours)\n")); } + free(base); return 1; }