Found during #554 Phase B review (PR #574) - pre-existing, not introduced there.
Problem
In _fbird_drop_table (fbird_inspection.c ~line 230): when the default transaction's node is cleared ((*l)->trans = NULL so the slot can be reused), the underlying fbird_transaction struct itself is never efreed. The struct leaks.
Source
Positional-era behavior carried over into the flag-based code; the commit path (_php_fbird_commit_link) efrees the default tx, but the drop_table early-commit path only clears the pointer.
Acceptance
- Default tx committed via _fbird_drop_table: struct efree'd, slot reusable
- ASAN/valgrind clean on a repro PHPT
Found during #554 Phase B review (PR #574) - pre-existing, not introduced there.
Problem
In
_fbird_drop_table(fbird_inspection.c ~line 230): when the default transaction's node is cleared ((*l)->trans = NULLso the slot can be reused), the underlyingfbird_transactionstruct itself is neverefreed. The struct leaks.Source
Positional-era behavior carried over into the flag-based code; the commit path (
_php_fbird_commit_link) efrees the default tx, but the drop_table early-commit path only clears the pointer.Acceptance