]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reftable: release name on reftable_reader_new() error
authorRené Scharfe <l.s.r@web.de>
Tue, 4 Mar 2025 16:11:54 +0000 (17:11 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 4 Mar 2025 17:21:39 +0000 (09:21 -0800)
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>
reftable/reader.c

index 3f2e4b280055ff58178c5b09d7822f47baa5faa1..24bae50ac2fab3a82ca3574af0bd27470edf3837 100644 (file)
@@ -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);
        }