Browse Source

remote.c: don't leak the base branch name in format_tracking_info

Found by scan.coverity.com (Id: 1127809)

Signed-off-by: Stefan Beller <stefanbeller@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Stefan Beller 11 years ago committed by Junio C Hamano
parent
commit
2f50babef1
  1. 6
      remote.c

6
remote.c

@ -1925,7 +1925,7 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs) @@ -1925,7 +1925,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)) {
@ -1941,8 +1941,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) @@ -1941,8 +1941,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"),
@ -1988,6 +1987,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) @@ -1988,6 +1987,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;
}


Loading…
Cancel
Save