Bugzilla – Bug 599
Icmpv4Echo::Deserialize Broken
Last modified: 2009-06-22 21:09:30 UTC
Recently (changeset 981e2f0b696b Jun 8), Icmpv4Echo::Deserialize was changed to replace a variable length buffer with a small (16 byte) fixed length buffer to hold the ICMP echo packet data. This breaks all examples (tab-bridge, emu) which use real external ping apps to talk to ns-3. Real ping sends 56 bytes and this overruns the 16 byte buffer in Icmpv4Echo and corrupts then crashes the system. We must return all of the variable data bytes in the echo response, and so a small fixed buffer cannot be right. We need to put back a variable length data buffer.
yes, using a variable sized buffer sounds right. Can you dynamically allocate a raw byte buffer and use Packet::CopyData instead of the previous Ptr<Packet> ?
Fixed changeset ee3191a0b560