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 <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||
|---|---|---|
| .. | ||
| LICENSE | ||
| basics.c | ||
| basics.h | ||
| block.c | ||
| block.h | ||
| blocksource.c | ||
| blocksource.h | ||
| constants.h | ||
| error.c | ||
| fsck.c | ||
| iter.c | ||
| iter.h | ||
| merged.c | ||
| merged.h | ||
| pq.c | ||
| pq.h | ||
| record.c | ||
| record.h | ||
| reftable-basics.h | ||
| reftable-block.h | ||
| reftable-blocksource.h | ||
| reftable-constants.h | ||
| reftable-error.h | ||
| reftable-fsck.h | ||
| reftable-iterator.h | ||
| reftable-merged.h | ||
| reftable-record.h | ||
| reftable-stack.h | ||
| reftable-system.h | ||
| reftable-table.h | ||
| reftable-writer.h | ||
| stack.c | ||
| stack.h | ||
| system.c | ||
| system.h | ||
| table.c | ||
| table.h | ||
| tree.c | ||
| tree.h | ||
| writer.c | ||
| writer.h | ||