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 <gitster@pobox.com>
Junio C Hamano committed
Apr 23, 2015 at 14:37 UTC
1016658de3fe213eedebdb478cca0324ac8fbe87
1 file changed
+2
-2
builtin/merge.c
+2
-2
@@ -491,8 +491,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
491
}
492
if (len) {
493
struct strbuf truname = STRBUF_INIT;
494
- strbuf_addstr(&truname, "refs/heads/");
495
- strbuf_addstr(&truname, remote);
494
+ strbuf_addf(&truname, "refs/heads/%s", remote);
495
strbuf_setlen(&truname, truname.len - len);
496
if (ref_exists(truname.buf)) {
497
strbuf_addf(msg,
@@ -503,6 +502,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
502
strbuf_release(&truname);
503
goto cleanup;
504
}
505
+ strbuf_release(&truname);
506
}
507
508
if (!strcmp(remote, "FETCH_HEAD") &&