mirror of
https://github.com/git/git.git
synced 2026-08-09 09:34:14 +00:00
packfile: ensure close_pack_revindex() frees in-memory revindex
The following commit will introduce a case where we write a MIDX bitmap over packs that do not themselves have on-disk *.rev files. This case is supported within Git, and we will simply fall back to generating the revindex in memory. But we don't ever release that memory, causing a leak that is exposed by a test introduced in the following commit. (As far as I could find, we never free()'d memory allocated as a byproduct of creating an in-memory revindex, likely because that code predates the leak-checking niceties we have in the test suite now.) Rectify this by calling `FREE_AND_NULL()` on the `p->revindex` field when calling `close_pack_revindex()`. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
d376967fbf
commit
b0d6e7b0d0
@@ -420,6 +420,8 @@ void close_pack_index(struct packed_git *p)
|
||||
|
||||
static void close_pack_revindex(struct packed_git *p)
|
||||
{
|
||||
FREE_AND_NULL(p->revindex);
|
||||
|
||||
if (!p->revindex_map)
|
||||
return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user