[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