From 6d930cd65c230bb7acb950949290be1ec3a30fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20D=C3=B6pmann?= Date: Mon, 6 Feb 2017 13:28:12 +0100 Subject: [PATCH] tcp: MaxRxSequence is sometimes too large --- RELEASE_NOTES | 1 + src/internet/model/tcp-rx-buffer.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index b9c6a4444..5fe5151ed 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -78,6 +78,7 @@ Bugs fixed - Bug 2604 - QosData frames with Block Ack policy should be separated by SIFS as long as they belong to the same TXOP - Bug 2605 - A HT/VHT station transmitting to a legacy access point results in a null throughput - Bug 2606 - Ideal rate manager does not work correctly when a HT/VHT station is transmitting to a legacy access point +- Bug 2613 - MaxRxSequence () is sometimes too large - Bug 2607 - Minstrel HT manager results in an endless loop when a 802.11ac station is transmitting to a 802.11a access point - Bug 2614 - RIP header version should be set to 2 - Bug 2627 - Ipv6RawSocket does not honor the bound interface when sending packets diff --git a/src/internet/model/tcp-rx-buffer.cc b/src/internet/model/tcp-rx-buffer.cc index a9b007a56..1f2913518 100644 --- a/src/internet/model/tcp-rx-buffer.cc +++ b/src/internet/model/tcp-rx-buffer.cc @@ -114,7 +114,7 @@ TcpRxBuffer::MaxRxSequence (void) const { // No data allowed beyond FIN return m_finSeq; } - else if (m_data.size ()) + else if (m_data.size () && m_nextRxSeq > m_data.begin ()->first) { // No data allowed beyond Rx window allowed return m_data.begin ()->first + SequenceNumber32 (m_maxBuffer); }