- Added Unittests for all ICMPv6 - MLDv2 Packet Types
[senf.git] / Packets / DefaultBundle / ICMPv6Packet.cc
index d70e7f5..0556fec 100644 (file)
@@ -34,10 +34,15 @@ namespace {
         registerICMPv6Packet (58);
 }
 
-prefix_ boost::uint16_t senf::ICMPv6PacketParser::calcChecksum() const {
+prefix_ boost::uint16_t senf::ICMPv6PacketParser::calcChecksum() 
+    const
+{
 
     senf::IpChecksum summer;
     senf::IPv6Packet ipv6 (packet().rfind<senf::IPv6Packet>(senf::nothrow));
+
+    if (! ipv6)
+        return 0u;
     
     summer.feed( ipv6->source().i(), 
                     ipv6->source().i() + senf::IPv6Packet::Parser::source_t::fixed_bytes );
@@ -70,3 +75,14 @@ prefix_ void senf::ICMPv6PacketType::dump(packet p, std::ostream &os)
 }
 
 #undef prefix_
+
+\f
+// Local Variables:
+// mode: c++
+// fill-column: 100
+// c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// comment-column: 40
+// End: