]> git.99rst.org Git - git.git/commitdiff
reftable: release name on reftable_reader_new() error
authorRené Scharfe <redacted>
Tue, 4 Mar 2025 16:11:54 +0000 (17:11 +0100)
committerJunio C Hamano <redacted>
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 <redacted>
Helped-by: Jeff King <redacted>
Signed-off-by: René Scharfe <redacted>
Signed-off-by: Junio C Hamano <redacted>
reftable/reader.c

index 3f2e4b280055ff58178c5b09d7822f47baa5faa1..24bae50ac2fab3a82ca3574af0bd27470edf3837 100644 (file)
@@ -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);
        }
git clone https://git.99rst.org/PROJECT