From: Eric Leblond Date: Sun, 24 Feb 2013 17:14:11 +0000 (+0100) Subject: cocci test: add sizeof test X-Git-Tag: suricata-1.4.1~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa9f795800a10c47a5aed38914a46e2c3fb7df95;p=thirdparty%2Fsuricata.git cocci test: add sizeof test 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. --- diff --git a/qa/coccinelle/sz3.cocci b/qa/coccinelle/sz3.cocci new file mode 100644 index 0000000000..37a8877b42 --- /dev/null +++ b/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 +// URL: http://coccinelle.lip6.fr/ +// URL: http://coccinellery.org/ +// Modified by Eric Leblond 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)