Messages in this thread Patch in this message | | | From | Vaishali Thakkar <> | Subject | [PATCH] Coccinelle: noderef: Add a rule and correct the old rule | Date | Wed, 27 Apr 2016 17:11:29 +0530 |
| |
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@oracle.com> --- 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..9991ee9 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; +identifier 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; +identifier 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
| |