midx.c: clean up chunkfile after reading the MIDX
In order to read the contents of a MIDX, we initialize a chunkfile structure which can read the table of contents and assign pointers into different sections of the file for us. We do call free(), since the chunkfile struct is heap allocated, but not the more appropriate free_chunkfile(), which also frees memory that the structure itself owns. Call that instead to avoid leaking memory in this function. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Taylor Blau committed
Oct 20, 2021 at 23:39 UTC
692305ec677b6ff67b67db9f1d55e7ca77e9dd9a
1 file changed
+2
-1
midx.c
+2
-1
@@ -179,12 +179,13 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
179
trace2_data_intmax("midx", the_repository, "load/num_packs", m->num_packs);
180
trace2_data_intmax("midx", the_repository, "load/num_objects", m->num_objects);
181
182
+ free_chunkfile(cf);
183
return m;
184
185
cleanup_fail:
186
free(m);
187
free(midx_name);
187
- free(cf);
188
+ free_chunkfile(cf);
189
if (midx_map)
190
munmap(midx_map, midx_size);
191
if (0 <= fd)