]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
cocci test: add sizeof test
authorEric Leblond <eric@regit.org>
Sun, 24 Feb 2013 17:14:11 +0000 (18:14 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 26 Feb 2013 11:30:12 +0000 (12:30 +0100)
This patch adds a new semantic patch taken from
http://coccinellery.org/. This patch tests if a sizeof take size
of pointer and not of pointed value.

qa/coccinelle/sz3.cocci [new file with mode: 0644]

diff --git a/qa/coccinelle/sz3.cocci b/qa/coccinelle/sz3.cocci
new file mode 100644 (file)
index 0000000..37a8877
--- /dev/null
@@ -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)