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)