Skip to content
Snippets Groups Projects
Commit 93f58a75 authored by g0dil's avatar g0dil
Browse files

Packets/DefaultBundle: ICMPv6Packet skips checksum calculation when IPv6 header is missing

parent 1e403adc
No related branches found
No related tags found
No related merge requests found
...@@ -34,10 +34,15 @@ namespace { ...@@ -34,10 +34,15 @@ namespace {
registerICMPv6Packet (58); registerICMPv6Packet (58);
} }
prefix_ boost::uint16_t senf::ICMPv6PacketParser::calcChecksum() const { prefix_ boost::uint16_t senf::ICMPv6PacketParser::calcChecksum()
const
{
senf::IpChecksum summer; senf::IpChecksum summer;
senf::IPv6Packet ipv6 (packet().rfind<senf::IPv6Packet>(senf::nothrow)); senf::IPv6Packet ipv6 (packet().rfind<senf::IPv6Packet>(senf::nothrow));
if (! ipv6)
return 0u;
summer.feed( ipv6->source().i(), summer.feed( ipv6->source().i(),
ipv6->source().i() + senf::IPv6Packet::Parser::source_t::fixed_bytes ); ipv6->source().i() + senf::IPv6Packet::Parser::source_t::fixed_bytes );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment