From 2f50babef18db3ca90b0b75f54d9c36d7a9142b3 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 10 Aug 2014 21:43:33 +0200 Subject: [PATCH 1/2] 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 Signed-off-by: Junio C Hamano --- remote.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/remote.c b/remote.c index 0e9459cc06..a80518362d 100644 --- a/remote.c +++ b/remote.c @@ -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) 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) strbuf_addf(sb, _(" (use \"git pull\" to merge the remote branch into yours)\n")); } + free(base); return 1; } From 50b6773287503cb76d1f4020245bbd119c410961 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 10 Aug 2014 15:57:56 +0200 Subject: [PATCH 2/2] clone.c: don't leak memory in cmd_clone Free the refspec. Found by scan.coverity.com (Id: 1127806) Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- builtin/clone.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/builtin/clone.c b/builtin/clone.c index 545105a86f..9129eb799f 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -1000,5 +1000,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; }