summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2025-03-04 17:11:54 +0100
committerJunio C Hamano <gitster@pobox.com>2025-03-04 09:21:39 -0800
commitbad79103998cd329584e844a315e85c3e1ac3839 (patch)
treeeef50f514a0bd4d6fab0cb1058ff5a8ae963e07b
parentA bit more post -rc0 (diff)
downloadgit-bad79103998cd329584e844a315e85c3e1ac3839.tar.gz
git-bad79103998cd329584e844a315e85c3e1ac3839.zip
reftable: release name on reftable_reader_new() error
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--reftable/reader.c2
1 files changed, 2 insertions, 0 deletions
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 @@ done:
reftable_block_done(&footer);
reftable_block_done(&header);
if (err) {
+ if (r)
+ reftable_free(r->name);
reftable_free(r);
block_source_close(source);
}