From 8879b125d26e8db1a5633de5a9c692eb2d1c4f83 Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Wed, 9 Sep 2015 22:21:41 -0700 Subject: suricata checkin based on commit id a4bce14770beee46a537eda3c3f6e8e8565d5d0a Change-Id: I9a214fa0ee95e58fc640e50bd604dac7f42db48f --- .../suricata/qa/coccinelle/access-pkt-packet.cocci | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 framework/src/suricata/qa/coccinelle/access-pkt-packet.cocci (limited to 'framework/src/suricata/qa/coccinelle/access-pkt-packet.cocci') diff --git a/framework/src/suricata/qa/coccinelle/access-pkt-packet.cocci b/framework/src/suricata/qa/coccinelle/access-pkt-packet.cocci new file mode 100644 index 00000000..681848ec --- /dev/null +++ b/framework/src/suricata/qa/coccinelle/access-pkt-packet.cocci @@ -0,0 +1,55 @@ +@init@ +typedef Packet; +Packet *p; +expression E; +statement S; +@@ + +( +memset(p, ...); +p->pkt = E; +| +p = SCCalloc(...); +S +p->pkt = E; +) + +@pktfield depends on !init@ +identifier func !~ "^PacketCopyDataOffset$"; +Packet *p; +position p1; +@@ + +func(...) { +<... +p->pkt@p1 +...> +} + +@ script:python @ +p1 << pktfield.p1; +@@ + +print "Invalid Packet->pkt usage, GET_PKT_DATA macro must be used at %s:%s" % (p1[0].file, p1[0].line) +import sys +sys.exit(1) + +@pktlenfield@ +identifier func !~ "^PacketCopyDataOffset$"; +Packet *p; +position p1; +@@ + +func(...) { +<... +p->pktlen@p1 +...> +} + +@ script:python @ +p1 << pktlenfield.p1; +@@ + +print "Invalid Packet->pktlen usage, GET_PKT_LEN macro must be used at %s:%s" % (p1[0].file, p1[0].line) +import sys +sys.exit(1) -- cgit 1.2.3-korg