builtin/merge.c: free "&buf" on "Your local changes..." error

Plug a memory leak introduced in [1], since that change didn't follow the "goto done" pattern introduced in [2] we'd leak the "&buf" memory. 1. e4cdfe84a0d (merge: abort if index does not match HEAD for trivial merges, 2022-07-23) 2. d5a35c114ab (Copy resolve_ref() return value for longer use, 2011-11-13) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Feb 7, 2023 at 00:07 UTC 41211db10f27de1a21ef2fd287f168ef25231275
1 file changed +2 -1
builtin/merge.c
+2 -1
@@ -1618,7 +1618,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
1618 error(_("Your local changes to the following files would be overwritten by merge:\n %s"),
1619 sb.buf);
1620 strbuf_release(&sb);
1621 - return 2;
1621 + ret = 2;
1622 + goto done;
1623 }
1624
1625 /* See if it is really trivial. */