pack-bitmap: plug leak in find_objects()

The `find_objects()` function creates an object_list for any tips of the
reachability query which do not have corresponding bitmaps.

The object_list is not used outside of `find_objects()`, but we never
free it with `object_list_free()`, resulting in a leak. Let's plug that
leak by calling `object_list_free()`, which results in t6113 becoming
leak-free.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Taylor Blau 2023-12-14 17:23:45 -05:00 committed by Junio C Hamano
parent 6cdb67b97d
commit a96015a517
2 changed files with 4 additions and 0 deletions

View File

@ -1280,6 +1280,8 @@ static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
base = fill_in_bitmap(bitmap_git, revs, base, seen);
}

object_list_free(&not_mapped);

return base;
}


View File

@ -4,6 +4,8 @@ test_description='rev-list combining bitmaps and filters'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-bitmap.sh

TEST_PASSES_SANITIZE_LEAK=true

test_expect_success 'set up bitmapped repo' '
# one commit will have bitmaps, the other will not
test_commit one &&