summaryrefslogtreecommitdiff
path: root/pack-bitmap.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2020-02-13 02:16:33 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-02-13 17:08:58 (GMT)
commitacac50dd8c2c9725841b3e9143d78c6345dc076c (patch)
treeafa32ba98f25de1dff2bd6cae0ea4f3cda6b8fc9 /pack-bitmap.c
parent551cf8b655fa73c90dabea633d41b5f10deffaf2 (diff)
downloadgit-acac50dd8c2c9725841b3e9143d78c6345dc076c.zip
git-acac50dd8c2c9725841b3e9143d78c6345dc076c.tar.gz
git-acac50dd8c2c9725841b3e9143d78c6345dc076c.tar.bz2
pack-bitmap: fix leak of haves/wants object lists
When we do a bitmap-aware revision traversal, we create an object_list for each of the "haves" and "wants" tips. After creating the result bitmaps these are no longer needed or used, but we never free the list memory. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pack-bitmap.c')
-rw-r--r--pack-bitmap.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/pack-bitmap.c b/pack-bitmap.c
index 9ca356e..6c06099 100644
--- a/pack-bitmap.c
+++ b/pack-bitmap.c
@@ -787,10 +787,15 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs)
bitmap_git->result = wants_bitmap;
bitmap_git->haves = haves_bitmap;
+ object_list_free(&wants);
+ object_list_free(&haves);
+
return bitmap_git;
cleanup:
free_bitmap_index(bitmap_git);
+ object_list_free(&wants);
+ object_list_free(&haves);
return NULL;
}