diff --git a/src/internet/model/ipv4-l3-protocol.cc b/src/internet/model/ipv4-l3-protocol.cc index b1e86756f..90caa0ba9 100644 --- a/src/internet/model/ipv4-l3-protocol.cc +++ b/src/internet/model/ipv4-l3-protocol.cc @@ -1407,10 +1407,11 @@ Ipv4L3Protocol::Fragments::GetPacket () const std::list, uint16_t> >::const_iterator it = m_fragments.begin (); - Ptr p = Create (); - uint16_t lastEndOffset = 0; + Ptr p = it->first->Copy (); + uint16_t lastEndOffset = p->GetSize (); + it++; - for ( it = m_fragments.begin (); it != m_fragments.end (); it++) + for ( ; it != m_fragments.end (); it++) { if ( lastEndOffset > it->second ) {