]> git.99rst.org Git - git.git/commit
reftable/table: release filter on error path
authorJohannes Schindelin <redacted>
Sun, 5 Jul 2026 08:24:27 +0000 (08:24 +0000)
committerJunio C Hamano <redacted>
Sun, 5 Jul 2026 16:12:10 +0000 (09:12 -0700)
commitb3b1d83f366c6f0db13e7d9679b762334a97d847
treefcc375d98e30065b0416ee8aed0165357b3747a3
parent22f92aa62a70e740acfbb4e4c2bfa70d31c50f83
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
reftable/table.c
git clone https://git.99rst.org/PROJECT