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
This commit is contained in:
Junio C Hamano 2014-09-09 12:54:01 -07:00
commit 27fbcf8267
2 changed files with 5 additions and 3 deletions

View File

@ -1004,5 +1004,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
strbuf_release(&key); strbuf_release(&key);
strbuf_release(&value); strbuf_release(&value);
junk_mode = JUNK_LEAVE_ALL; junk_mode = JUNK_LEAVE_ALL;
free(refspec);
return err; return err;
} }

View File

@ -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 format_tracking_info(struct branch *branch, struct strbuf *sb)
{ {
int ours, theirs; int ours, theirs;
const char *base; char *base;
int upstream_is_gone = 0; int upstream_is_gone = 0;
switch (stat_tracking_info(branch, &ours, &theirs)) { switch (stat_tracking_info(branch, &ours, &theirs)) {
@ -1965,8 +1965,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)
break; break;
} }
base = branch->merge[0]->dst; base = shorten_unambiguous_ref(branch->merge[0]->dst, 0);
base = shorten_unambiguous_ref(base, 0);
if (upstream_is_gone) { if (upstream_is_gone) {
strbuf_addf(sb, strbuf_addf(sb,
_("Your branch is based on '%s', but the upstream is gone.\n"), _("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, strbuf_addf(sb,
_(" (use \"git pull\" to merge the remote branch into yours)\n")); _(" (use \"git pull\" to merge the remote branch into yours)\n"));
} }
free(base);
return 1; return 1;
} }