From: Johannes Schindelin Date: Sun, 5 Jul 2026 08:24:27 +0000 (+0000) Subject: reftable/table: release filter on error path X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3b1d83f366c6f0db13e7d9679b762334a97d847;p=thirdparty%2Fgit.git reftable/table: release filter on error path `reftable_table_refs_for_unindexed()` allocates a filtering_ref_iterator and then calls `reftable_buf_add()` to populate its oid buffer. On success ownership is transferred to the output iterator, but if `reftable_buf_add()` fails, the goto-out cleanup only frees the table iterator and walks away from both the filter allocation and the oid buffer that `reftable_buf_add()` may have grown. Release filter->oid and free filter alongside the existing table iterator cleanup. Reported by Coverity as CID 1671512 ("Resource leak"). Assisted-by: Opus 4.7 Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/reftable/table.c b/reftable/table.c index 56362df0ed..d604ddebf4 100644 --- a/reftable/table.c +++ b/reftable/table.c @@ -709,6 +709,10 @@ out: if (ti) table_iter_close(ti); reftable_free(ti); + if (filter) { + reftable_buf_release(&filter->oid); + reftable_free(filter); + } } return err; }