diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-05-30 11:53:30 +0200 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-06-01 07:43:43 +0200 |
| commit | c3fe693a46026130cbff8906b350933c739d681e (patch) | |
| tree | 31b0f79dbe53f82f9e22a64362e8854c36749b42 /src/irmd/oap/tests | |
| parent | 44b7980a95107a564670393e4a2450e953223436 (diff) | |
| download | ouroboros-c3fe693a46026130cbff8906b350933c739d681e.tar.gz ouroboros-c3fe693a46026130cbff8906b350933c739d681e.zip | |
lib: Fix double pool_remove on tx-path failure
The flow_tx_spb function consumed the spb on every failure path via
ssm_pool_remove, while its caller ipcp_flow_write left the spb to its
caller on early outs, causing ssm_pool_remove to be called twice.
In Debug builds this aborts at the old_ref == 0 check.
This aligns flow_tx_spb with np1_flow_write and dt_write_packet: spb
consumed on success, retained on failure. External callers already
release on failure, so no caller-side changes outside of dev.c are
needed.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/oap/tests')
0 files changed, 0 insertions, 0 deletions
