summaryrefslogtreecommitdiffstats
path: root/framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci')
-rw-r--r--framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci29
1 files changed, 29 insertions, 0 deletions
diff --git a/framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci b/framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci
new file mode 100644
index 00000000..ab6a98c1
--- /dev/null
+++ b/framework/src/suricata/qa/coccinelle/pktnotset-packet.cocci
@@ -0,0 +1,29 @@
+@zeroed@
+typedef Packet;
+typedef uint8_t;
+Packet *p;
+position p1;
+@@
+
+memset(p@p1, 0, ...);
+
+@isset@
+Packet *p;
+position zeroed.p1;
+@@
+
+memset(p@p1, 0, ...);
+... when != p
+(
+p->pkt
+|
+PACKET_INITIALIZE(p)
+)
+
+@script:python depends on !isset@
+p1 << zeroed.p1;
+@@
+
+print "Packet zeroed at %s:%s but pkt field is not set afterward." % (p1[0].file, p1[0].line)
+import sys
+sys.exit(1)