From 9e4da57335e7a03068f4760c24c2421b340ebc8f Mon Sep 17 00:00:00 2001 From: Patricio Whittingslow Date: Sat, 11 Apr 2026 20:02:16 -0300 Subject: [PATCH] abort on ControlBlock return net.ErrClosed in challenge ack case --- tcp/control.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tcp/control.go b/tcp/control.go index c316dde..7e34937 100644 --- a/tcp/control.go +++ b/tcp/control.go @@ -555,6 +555,7 @@ func (tcb *ControlBlock) validateIncomingSegment(seg Segment) (err error) { case errSeqNotInWindow, errLastNotInWindow, errRequireSequential, errZeroWindow: if !flags.HasAny(FlagRST) { if tcb.tooManyChallengeAcks() { + tcb.Abort() return net.ErrClosed } tcb.triggerChallengeAckEmit()