diff options
author | Josh Steadmon <steadmon@google.com> | 2019-02-07 12:05:54 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-02-07 13:02:28 -0800 |
commit | 96b0710ee405bbdea404641c82eabf28fe629b7a (patch) | |
tree | edd3c683726fd3539a3588d8903ddd71c30f7c41 /object.c | |
parent | 249dc534449f6fabd65894f20ee079fd394ab832 (diff) | |
download | git-96b0710ee405bbdea404641c82eabf28fe629b7a.tar.gz |
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 <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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); } |