summaryrefslogtreecommitdiff
path: root/src/irmd/oap
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-05-30 12:27:58 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-06-01 07:43:48 +0200
commit6d787a674797c656c71442767360810457e3d24b (patch)
treea1b08acf121174c3b2e7a411919e42dba8dd534c /src/irmd/oap
parentc3fe693a46026130cbff8906b350933c739d681e (diff)
downloadouroboros-6d787a674797c656c71442767360810457e3d24b.tar.gz
ouroboros-6d787a674797c656c71442767360810457e3d24b.zip
lib: Fix FRCT seqno leak on rxm alloc failure
The seqno was committed before calling rxm_arm, whose malloc could fail and silently leave the seqno without a retransmission entry. None of the recovery paths (RTO timer, RACK, SACK-driven, NACK-driven) can repair a slot with NULL rxm, so the gap persists until the receiver's keepalive marks the flow dead. This fix splits rxm_arm into rxm_alloc plus rxm_arm (post-state install). sack_rxm_snd follows the same alloc-then-arm shape. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/oap')
0 files changed, 0 insertions, 0 deletions