git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] object: fix leak of shallow_stat

From
Josh Steadmon <steadmon@google.com>
Date
Feb 7, 2019, 20:05 UTC
Message-ID
<9a0495694dc2344ae5fdf2a95b301cfca3ed4a79.1549569479.git.steadmon@google.com>
In-Reply-To
<cover.1549569479.git.steadmon@google.com>

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>
---
 object.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/object.c b/object.c
index 5dc5eec367..ca0b093c37 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);
 }
-- 
2.20.1.611.gfbb209baf1-goog
Previous: Josh Steadmon
Message 3 of 3 in “Initialize repo object in fuzz-commit-graph”
  1. 0/2 Initialize repo object in fuzz-commit-graphJosh Steadmon, Feb 7, 2019
  2. 1/2 fuzz-commit-graph: initialize repo objectJosh Steadmon, Feb 7, 2019
  3. 2/2 object: fix leak of shallow_statJosh Steadmon, Feb 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.