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

[PATCH v2] reftable: release name on reftable_reader_new() error

From
René Scharfe <l.s.r@web.de>
Date
Mar 4, 2025, 16:11 UTC
Message-ID
<77e1fe2e-f652-4aea-bc12-4deae7bcd569@web.de>
In-Reply-To
<20250304063329.GA1283445@coredump.intra.peff.net>

If block_source_read_block() or parse_footer() fail, we leak the "name" member of struct reftable_reader in reftable_reader_new(). Release it.

Reported by: H Z <shiyuyuranzh@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: René Scharfe <l.s.r@web.de>
---
Change since v1: Avoid NULL pointer dereference.  Thank you, Peff!
 reftable/reader.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/reftable/reader.c b/reftable/reader.c
index 3f2e4b2800..24bae50ac2 100644
--- a/reftable/reader.c
+++ b/reftable/reader.c
@@ -666,6 +666,8 @@ int reftable_reader_new(struct reftable_reader **out,
 	reftable_block_done(&footer);
 	reftable_block_done(&header);
 	if (err) {
+		if (r)
+			reftable_free(r->name);
 		reftable_free(r);
 		block_source_close(source);
 	}
--
2.48.1
Previous: H Z
Message 7 of 7 in “Subject: Memory Leak vulnerability in reftable/readwrite_test.c”
  1. H ZMar 1, 2025
  2. H ZMar 1, 2025
  3. René ScharfeMar 1, 2025
  4. H ZMar 1, 2025
  5. Jeff KingMar 4, 2025
  6. H ZMar 4, 2025
  7. reftable: release name on reftable_reader_new() errorRené Scharfe, Mar 4, 2025

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.