aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaishali Thakkar <vaishali.thakkar@oracle.com>2016-05-24 00:19:17 -0400
committerMichal Marek <mmarek@suse.com>2016-06-20 11:20:13 -0400
commitbf56cc04ef97c8ec536e3fcd16fc57902cba339f (patch)
tree0e45c354d1a4b294f001ee876086196ca6b201da
parent1a695a905c18548062509178b98bc91e67510864 (diff)
Coccinelle: noderef: Add new rules and correct the old rule
Add new rules to detect the cases where sizeof is used in function calls as a argument. Also, for the patch mode third rule should behave same as second rule with arguments reversed. So, change that as well. Signed-off-by: Vaishali Thakkar <vaishali.thakkar@oracle.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.com>
-rw-r--r--scripts/coccinelle/misc/noderef.cocci18
1 files changed, 17 insertions, 1 deletions
diff --git a/scripts/coccinelle/misc/noderef.cocci b/scripts/coccinelle/misc/noderef.cocci
index 80a831c91161..007f0de0c715 100644
--- a/scripts/coccinelle/misc/noderef.cocci
+++ b/scripts/coccinelle/misc/noderef.cocci
@@ -16,6 +16,7 @@ virtual patch
16@depends on patch@ 16@depends on patch@
17expression *x; 17expression *x;
18expression f; 18expression f;
19expression i;
19type T; 20type T;
20@@ 21@@
21 22
@@ -30,15 +31,26 @@ f(...,(T)(x),...,sizeof(
30+ *x 31+ *x
31 ),...) 32 ),...)
32| 33|
33f(...,sizeof(x),...,(T)( 34f(...,sizeof(
35- x
36+ *x
37 ),...,(T)(x),...)
38|
39f(...,(T)(x),...,i*sizeof(
34- x 40- x
35+ *x 41+ *x
36 ),...) 42 ),...)
43|
44f(...,i*sizeof(
45- x
46+ *x
47 ),...,(T)(x),...)
37) 48)
38 49
39@r depends on !patch@ 50@r depends on !patch@
40expression *x; 51expression *x;
41expression f; 52expression f;
53expression i;
42position p; 54position p;
43type T; 55type T;
44@@ 56@@
@@ -49,6 +61,10 @@ type T;
49*f(...,(T)(x),...,sizeof@p(x),...) 61*f(...,(T)(x),...,sizeof@p(x),...)
50| 62|
51*f(...,sizeof@p(x),...,(T)(x),...) 63*f(...,sizeof@p(x),...,(T)(x),...)
64|
65*f(...,(T)(x),...,i*sizeof@p(x),...)
66|
67*f(...,i*sizeof@p(x),...,(T)(x),...)
52) 68)
53 69
54@script:python depends on org@ 70@script:python depends on org@