From: Junio C Hamano Date: Thu, 23 Apr 2015 21:37:13 +0000 (-0700) Subject: merge: small leakfix and code simplification X-Git-Tag: v2.5.0-rc0~42^2~16 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1016658de3fe213eedebdb478cca0324ac8fbe87;p=git-core%2Fgit.git merge: small leakfix and code simplification When parsing a merged object name like "foo~20" to formulate a merge summary "Merge branch foo (early part)", a temporary strbuf is used, but we forgot to deallocate it when we failed to find the named branch. Signed-off-by: Junio C Hamano --- diff --git a/builtin/merge.c b/builtin/merge.c index 1d4fbd328..b2d03323c 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -491,8 +491,7 @@ static void merge_name(const char *remote, struct strbuf *msg) } if (len) { struct strbuf truname = STRBUF_INIT; - strbuf_addstr(&truname, "refs/heads/"); - strbuf_addstr(&truname, remote); + strbuf_addf(&truname, "refs/heads/%s", remote); strbuf_setlen(&truname, truname.len - len); if (ref_exists(truname.buf)) { strbuf_addf(msg, @@ -503,6 +502,7 @@ static void merge_name(const char *remote, struct strbuf *msg) strbuf_release(&truname); goto cleanup; } + strbuf_release(&truname); } if (!strcmp(remote, "FETCH_HEAD") &&