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>

René Scharfe committed Mar 4, 2025 at 17:11 UTC bad79103998cd329584e844a315e85c3e1ac3839
1 file changed +2
reftable/reader.c
+2
@@ -666,6 +666,8 @@ done:
666 reftable_block_done(&footer);
667 reftable_block_done(&header);
668 if (err) {
669 + if (r)
670 + reftable_free(r->name);
671 reftable_free(r);
672 block_source_close(source);
673 }