From: Taylor Blau Date: Tue, 26 Oct 2021 21:01:23 +0000 (-0400) Subject: pack-bitmap.c: don't leak type-level bitmaps X-Git-Tag: v2.35.0-rc0~129^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=022815114a8a57188bc0e8fd622e10d5e22604dc;p=thirdparty%2Fgit.git pack-bitmap.c: don't leak type-level bitmaps test_bitmap_walk() is used to implement `git rev-list --test-bitmap`, which compares the result of the on-disk bitmaps with ones generated on-the-fly during a revision walk. In fa95666a40 (pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps, 2021-08-24), we hardened those tests to also check the four special type-level bitmaps, but never freed those bitmaps. We should have, since each required an allocation when we EWAH-decompressed them. Free those, plugging that leak, and also free the base (the scratch-pad bitmap), too. Signed-off-by: Taylor Blau Signed-off-by: Junio C Hamano --- diff --git a/pack-bitmap.c b/pack-bitmap.c index 3f603425c9..3d81425c29 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -1726,6 +1726,12 @@ void test_bitmap_walk(struct rev_info *revs) else die("mismatch in bitmap results"); + bitmap_free(result); + bitmap_free(tdata.base); + bitmap_free(tdata.commits); + bitmap_free(tdata.trees); + bitmap_free(tdata.blobs); + bitmap_free(tdata.tags); free_bitmap_index(bitmap_git); }