You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/qa/coccinelle/sz3.cocci

49 lines
844 B
Plaintext

//
// 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)