Icmpv4Packet &packet
)
{
- is >> packet.IpHeader >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+ if (is.good())
+ is >> packet.IpHeader;
+ if (is.good())
+ is >> packet.IcmpPayloadHeader;
+ if (is.good())
+ is >> packet.IcmpPayloadData;
return is;
}
{
#ifdef IPV6_DATA_PRESENT_IN_ISTREAM
//TODO WHY IPv6 does not come like IPv4????
- is >> packet.IpHeader >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+ if (is.good())
+ is >> packet.IpHeader;
+ if (is.good())
+ is >> packet.IcmpPayloadHeader;
+ if (is.good())
+ is >> packet.IcmpPayloadData;
#else
- is >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+ if (is.good())
+ is >> packet.IcmpPayloadHeader;
+ if (is.good())
+ is >> packet.IcmpPayloadData;
#endif
return is;