From: Philippe Antoine Date: Fri, 18 Dec 2020 13:21:16 +0000 (+0100) Subject: icmpv6: bail out for icmpv6.hdr keyword if not ICMPv6 X-Git-Tag: suricata-6.0.2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2828e292bbfb7dd0804663c572f9c88959ba86b1;p=thirdparty%2Fsuricata.git icmpv6: bail out for icmpv6.hdr keyword if not ICMPv6 (cherry picked from commit ddb4d289ae00908d8f25fdd3afbcd5a1da2111a6) --- diff --git a/src/detect-icmpv6hdr.c b/src/detect-icmpv6hdr.c index f892f5921b..7de83dc5f1 100644 --- a/src/detect-icmpv6hdr.c +++ b/src/detect-icmpv6hdr.c @@ -105,7 +105,10 @@ static InspectionBuffer *GetData(DetectEngineThreadCtx *det_ctx, InspectionBuffer *buffer = InspectionBufferGet(det_ctx, list_id); if (buffer->inspect == NULL) { uint32_t hlen = ICMPV6_HEADER_LEN; - DEBUG_VALIDATE_BUG_ON(p->icmpv6h == NULL); + if (p->icmpv6h == NULL) { + // DETECT_PROTO_IPV6 does not prefilter + return NULL; + } if (((uint8_t *)p->icmpv6h + (ptrdiff_t)hlen) > ((uint8_t *)GET_PKT_DATA(p) + (ptrdiff_t)GET_PKT_LEN(p))) {