midx.c: don't leak MIDX from verify_midx_file
The function midx.c:verify_midx_file() allocates a MIDX struct by calling load_multi_pack_index(). But when cleaning up, it calls free() without freeing any resources associated with the MIDX. Call the more appropriate close_midx() which does free those resources, which causes t5319.3 to pass when Git is compiled with SANITIZE=leak. 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
692305ec67
commit
492cb394fb
4
midx.c
4
midx.c
@ -1603,7 +1603,7 @@ int verify_midx_file(struct repository *r, const char *object_dir, unsigned flag
|
|||||||
* Remaining tests assume that we have objects, so we can
|
* Remaining tests assume that we have objects, so we can
|
||||||
* return here.
|
* return here.
|
||||||
*/
|
*/
|
||||||
return verify_midx_error;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & MIDX_PROGRESS)
|
if (flags & MIDX_PROGRESS)
|
||||||
@ -1681,7 +1681,9 @@ int verify_midx_file(struct repository *r, const char *object_dir, unsigned flag
|
|||||||
}
|
}
|
||||||
stop_progress(&progress);
|
stop_progress(&progress);
|
||||||
|
|
||||||
|
cleanup:
|
||||||
free(pairs);
|
free(pairs);
|
||||||
|
close_midx(m);
|
||||||
|
|
||||||
return verify_midx_error;
|
return verify_midx_error;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user