]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t/helper/test-read-midx.c: free MIDX within read_midx_file()
authorTaylor Blau <me@ttaylorr.com>
Tue, 26 Oct 2021 21:01:11 +0000 (17:01 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 27 Oct 2021 23:26:37 +0000 (16:26 -0700)
When calling `read_midx_file()` to show information about a MIDX or list
the objects contained within it we fail to call `close_midx()`, leaking
the memory allocated to store that MIDX.

Fix this by calling `close_midx()` before exiting the function. We can
drop the "early" return when `show_objects` is non-zero, since the next
instruction is also a return.

(We could just as easily put a `cleanup` label here as with previous
patches. But the only other time we terminate the function early is
when we fail to load a MIDX in the first place. `close_midx()` does
handle a NULL argument, but the extra complexity is likely not
warranted).

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/helper/test-read-midx.c

index 9d6fa7a3773c102f7250bcb51c1aa18abe3487ac..27072ba94d76005b6f49e04f60f2e697efd0e073 100644 (file)
@@ -55,9 +55,10 @@ static int read_midx_file(const char *object_dir, int show_objects)
                        printf("%s %"PRIu64"\t%s\n",
                               oid_to_hex(&oid), e.offset, e.p->pack_name);
                }
-               return 0;
        }
 
+       close_midx(m);
+
        return 0;
 }