bug 865: Ipv4RawSocketImpl::RecvFrom does not return from address all the time
authorHajime Tazaki <tazaki@sfc.wide.ad.jp>
Wed, 07 Apr 2010 16:42:47 +0200
changeset 6169 bef40786d55b
parent 6168 c737d0a0e9a0
child 6170 21c9ea05058b
bug 865: Ipv4RawSocketImpl::RecvFrom does not return from address all the time
src/internet-stack/ipv4-raw-socket-impl.cc
--- a/src/internet-stack/ipv4-raw-socket-impl.cc	Tue Apr 06 11:34:06 2010 +0400
+++ b/src/internet-stack/ipv4-raw-socket-impl.cc	Wed Apr 07 16:42:47 2010 +0200
@@ -221,6 +221,8 @@
     }
   struct Data data = m_recv.front ();
   m_recv.pop_front ();
+  InetSocketAddress inet = InetSocketAddress (data.fromIp, data.fromProtocol);
+  fromAddress = inet;
   if (data.packet->GetSize () > maxSize)
     {
       Ptr<Packet> first = data.packet->CreateFragment (0, maxSize);
@@ -228,8 +230,6 @@
       m_recv.push_front (data);
       return first;
     }
-  InetSocketAddress inet = InetSocketAddress (data.fromIp, data.fromProtocol);
-  fromAddress = inet;
   return data.packet;
 }