]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Invert logic, test for valid next IPv6 headers.
authorVictor Roemer <viroemer@cisco.com>
Tue, 22 Sep 2015 17:08:28 +0000 (13:08 -0400)
committerVictor Roemer <viroemer@cisco.com>
Tue, 22 Sep 2015 17:08:28 +0000 (13:08 -0400)
src/codecs/ip/cd_ipv6.cc
src/protocols/ipv6.h

index 47db9e8031cbc4f514b57e9e0b9ae5caef6243bb..1d4507783faa6509095410db2c8262611737e534 100644 (file)
@@ -195,7 +195,7 @@ bool Ipv6Codec::decode(const RawData& raw, CodecData& codec, DecodeData& snort)
     IPV6MiscTests(snort, codec);
     CheckIPV6Multicast(ip6h, codec);
 
-    if (ip6h->is_bad_next_header())
+    if (ip6h->is_valid_next_header() == false)
         codec_event(codec, DECODE_IPV6_BAD_NEXT_HEADER);
 
     const_cast<uint32_t&>(raw.len) = ip6h->len() + ip::IP6_HEADER_LEN;
index 5cdab9943c4eb5ff74194c637ffb298008c8eb8b..1781dbf7986b70cac404459d9a5aaafbb57f6ca6 100644 (file)
@@ -143,7 +143,7 @@ struct IP6Hdr
     inline bool is_dst_multicast_scope_global() const
     { return (static_cast<MulticastScope>(ip6_dst.u6_addr8[1]) == MulticastScope::GLOBAL); }
 
-    inline bool is_bad_next_header() const
+    inline bool is_valid_next_header() const
     {
         switch (ip6_next)
         {
@@ -155,11 +155,11 @@ struct IP6Hdr
             case IPPROTO_DSTOPTS:
             case IPPROTO_ROUTING:
             case IPPROTO_FRAGMENT:
-                return false;
+                return true;
             default:
                 break;
         }
-        return true;
+        return false;
     }
 
     /*  setters  */