From: Josh Steadmon Date: Thu, 7 Feb 2019 20:05:54 +0000 (-0800) Subject: object: fix leak of shallow_stat X-Git-Tag: v2.21.0-rc1~18^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=96b0710ee405bbdea404641c82eabf28fe629b7a;p=git object: fix leak of shallow_stat In eee4502baaf ("shallow: migrate shallow information into the object parser", 2018-05-17), we added a stat_validity pointer into the parsed_object_pool struct, but did not add code to free this in parsed_object_pool_clear(). This leak was found by fuzz-commit-graph. Clear the struct and then free it in parsed_object_pool_clear() to prevent the leak. Signed-off-by: Josh Steadmon Signed-off-by: Junio C Hamano --- diff --git a/object.c b/object.c index 59ea24c4aa..e81d47a79c 100644 --- a/object.c +++ b/object.c @@ -557,9 +557,11 @@ void parsed_object_pool_clear(struct parsed_object_pool *o) clear_alloc_state(o->commit_state); clear_alloc_state(o->tag_state); clear_alloc_state(o->object_state); + stat_validity_clear(o->shallow_stat); FREE_AND_NULL(o->blob_state); FREE_AND_NULL(o->tree_state); FREE_AND_NULL(o->commit_state); FREE_AND_NULL(o->tag_state); FREE_AND_NULL(o->object_state); + FREE_AND_NULL(o->shallow_stat); }