--- a/src/internet/model/tcp-socket-base.cc Wed Dec 07 16:11:42 2011 -0800
+++ b/src/internet/model/tcp-socket-base.cc Thu Dec 08 00:59:35 2011 -0500
@@ -676,8 +676,9 @@
}
m_rWnd = tcpHeader.GetWindowSize ();
- // Discard fully out of range packets
- if (OutOfRange (tcpHeader.GetSequenceNumber (), tcpHeader.GetSequenceNumber () + packet->GetSize ()))
+ // Discard fully out of range data packets
+ if (packet->GetSize &&
+ OutOfRange (tcpHeader.GetSequenceNumber (), tcpHeader.GetSequenceNumber () + packet->GetSize ()))
{
NS_LOG_LOGIC ("At state " << TcpStateName[m_state] <<
" received packet of seq [" << tcpHeader.GetSequenceNumber () <<