summaryrefslogtreecommitdiffstats
path: root/framework/src/suricata/qa/coccinelle/sz3.cocci
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/suricata/qa/coccinelle/sz3.cocci')
-rw-r--r--framework/src/suricata/qa/coccinelle/sz3.cocci48
1 files changed, 48 insertions, 0 deletions
diff --git a/framework/src/suricata/qa/coccinelle/sz3.cocci b/framework/src/suricata/qa/coccinelle/sz3.cocci
new file mode 100644
index 00000000..37a8877b
--- /dev/null
+++ b/framework/src/suricata/qa/coccinelle/sz3.cocci
@@ -0,0 +1,48 @@
+//
+// Take size of pointed value, not pointer
+//
+// Target: Linux, Generic
+// Copyright: 2012 - LIP6/INRIA
+// License: Licensed under GPLv2 or any later version.
+// Author: Julia Lawall <Julia.Lawall@lip6.fr>
+// URL: http://coccinelle.lip6.fr/
+// URL: http://coccinellery.org/
+// Modified by Eric Leblond <eric@regit.org> for suricata test system
+
+@preuse@
+expression *e;
+type T;
+identifier f;
+position p1;
+@@
+
+f(...,
+sizeof(e@p1)
+,...,(T)e,...)
+
+@ script:python @
+p1 << preuse.p1;
+@@
+
+print "Size of pointed value not pointer used at %s:%s" % (p1[0].file, p1[0].line)
+import sys
+sys.exit(1)
+
+@postuse@
+expression *e;
+type T;
+identifier f;
+position p1;
+@@
+
+f(...,(T)e,...,
+sizeof(e@p1)
+,...)
+
+@ script:python @
+p1 << postuse.p1;
+@@
+
+print "Size of pointed value not pointer used at %s:%s" % (p1[0].file, p1[0].line)
+import sys
+sys.exit(1)