diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:39:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:39:49 +0000 |
commit | a0aa2307322cd47bbf416810ac0292925e03be87 (patch) | |
tree | 37076262a026c4b48c8a0e84f44ff9187556ca35 /qa/coccinelle/access-pkt-packet.cocci | |
parent | Initial commit. (diff) | |
download | suricata-a0aa2307322cd47bbf416810ac0292925e03be87.tar.xz suricata-a0aa2307322cd47bbf416810ac0292925e03be87.zip |
Adding upstream version 1:7.0.3.upstream/1%7.0.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qa/coccinelle/access-pkt-packet.cocci')
-rw-r--r-- | qa/coccinelle/access-pkt-packet.cocci | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/qa/coccinelle/access-pkt-packet.cocci b/qa/coccinelle/access-pkt-packet.cocci new file mode 100644 index 0000000..3402b6d --- /dev/null +++ b/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) |