[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1462797280-14332-1-git-send-email-vaishali.thakkar@oracle.com>
Date: Mon, 9 May 2016 18:04:40 +0530
From: Vaishali Thakkar <vaishali.thakkar@...cle.com>
To: Julia.Lawall@...6.fr
Cc: Gilles.Muller@...6.fr, nicolas.palix@...g.fr, mmarek@...e.com,
cocci@...teme.lip6.fr, linux-kernel@...r.kernel.org,
Vaishali Thakkar <vaishali.thakkar@...cle.com>
Subject: [PATCH v2] Coccinelle: noderef: Add a rule and correct the old rule
Add a new rule to detect the cases where sizeof is used as a
subexpression rather than a top level 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@...cle.com>
---
Changes since v1:
- Declare i as an expression instead of identifier to
cover more cases
---
scripts/coccinelle/misc/noderef.cocci | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/scripts/coccinelle/misc/noderef.cocci b/scripts/coccinelle/misc/noderef.cocci
index 80a831c..584dd01 100644
--- a/scripts/coccinelle/misc/noderef.cocci
+++ b/scripts/coccinelle/misc/noderef.cocci
@@ -16,6 +16,7 @@ virtual patch
@depends on patch@
expression *x;
expression f;
+expression i;
type T;
@@
@@ -30,7 +31,12 @@ f(...,(T)(x),...,sizeof(
+ *x
),...)
|
-f(...,sizeof(x),...,(T)(
+f(...,sizeof(
+- x
++ *x
+ ),...,(T)(x),...)
+|
+x = f(...,i*sizeof(
- x
+ *x
),...)
@@ -39,6 +45,7 @@ f(...,sizeof(x),...,(T)(
@r depends on !patch@
expression *x;
expression f;
+expression i;
position p;
type T;
@@
@@ -49,6 +56,8 @@ type T;
*f(...,(T)(x),...,sizeof@p(x),...)
|
*f(...,sizeof@p(x),...,(T)(x),...)
+|
+*x = f(...,i*sizeof@p(x),...)
)
@script:python depends on org@
--
2.1.4
Powered by blists - more mailing lists