]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/merge.c: free "&buf" on "Your local changes..." error
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Mon, 6 Feb 2023 23:07:49 +0000 (00:07 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 6 Feb 2023 23:34:39 +0000 (15:34 -0800)
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>
builtin/merge.c

index 32733e551d4c1a99c4a6302276b4038d6b6ba44f..5a834b1f291b9db52f334f897fb9d46055f4b1c3 100644 (file)
@@ -1618,7 +1618,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
                                error(_("Your local changes to the following files would be overwritten by merge:\n  %s"),
                                      sb.buf);
                                strbuf_release(&sb);
-                               return 2;
+                               ret = 2;
+                               goto done;
                        }
 
                        /* See if it is really trivial. */