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()