]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
af-packet: packet checks into debug validate check
authorVictor Julien <victor@inliniac.net>
Wed, 3 Nov 2021 14:02:12 +0000 (15:02 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 11 Nov 2021 14:55:49 +0000 (15:55 +0100)
src/source-af-packet.c

index b72b5b00df7577a5727ad5ac832f585b2a980e6f..c84c5610572143b40e1aa986d7b1add7cd5c2fd9 100644 (file)
@@ -57,6 +57,7 @@
 #include "source-af-packet.h"
 #include "runmodes.h"
 #include "flow-storage.h"
+#include "util-validate.h"
 
 #ifdef HAVE_AF_PACKET
 
@@ -849,9 +850,11 @@ static TmEcode AFPWritePacket(Packet *p, int version)
 
 static void AFPReleaseDataFromRing(Packet *p)
 {
+    DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
     /* Need to be in copy mode and need to detect early release
        where Ethernet header could not be set (and pseudo packet) */
-    if ((p->afp_v.copy_mode != AFP_COPY_MODE_NONE) && !PKT_IS_PSEUDOPKT(p)) {
+    if (p->afp_v.copy_mode != AFP_COPY_MODE_NONE) {
         AFPWritePacket(p, TPACKET_V2);
     }
 
@@ -871,9 +874,11 @@ cleanup:
 #ifdef HAVE_TPACKET_V3
 static void AFPReleasePacketV3(Packet *p)
 {
+    DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
+
     /* Need to be in copy mode and need to detect early release
        where Ethernet header could not be set (and pseudo packet) */
-    if ((p->afp_v.copy_mode != AFP_COPY_MODE_NONE) && !PKT_IS_PSEUDOPKT(p)) {
+    if (p->afp_v.copy_mode != AFP_COPY_MODE_NONE) {
         AFPWritePacket(p, TPACKET_V3);
     }
     PacketFreeOrRelease(p);
@@ -2910,7 +2915,7 @@ TmEcode DecodeAFP(ThreadVars *tv, Packet *p, void *data)
     SCEnter();
     DecodeThreadVars *dtv = (DecodeThreadVars *)data;
 
-    BUG_ON(PKT_IS_PSEUDOPKT(p));
+    DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
 
     /* update counters */
     DecodeUpdatePacketCounters(tv, dtv, p);