mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
1a695a905c
commit
bf56cc04ef
|
@ -16,6 +16,7 @@ virtual patch
|
||||||
@depends on patch@
|
@depends on patch@
|
||||||
expression *x;
|
expression *x;
|
||||||
expression f;
|
expression f;
|
||||||
|
expression i;
|
||||||
type T;
|
type T;
|
||||||
@@
|
@@
|
||||||
|
|
||||||
|
@ -30,15 +31,26 @@ f(...,(T)(x),...,sizeof(
|
||||||
+ *x
|
+ *x
|
||||||
),...)
|
),...)
|
||||||
|
|
|
|
||||||
f(...,sizeof(x),...,(T)(
|
f(...,sizeof(
|
||||||
|
- x
|
||||||
|
+ *x
|
||||||
|
),...,(T)(x),...)
|
||||||
|
|
|
||||||
|
f(...,(T)(x),...,i*sizeof(
|
||||||
- x
|
- x
|
||||||
+ *x
|
+ *x
|
||||||
),...)
|
),...)
|
||||||
|
|
|
||||||
|
f(...,i*sizeof(
|
||||||
|
- x
|
||||||
|
+ *x
|
||||||
|
),...,(T)(x),...)
|
||||||
)
|
)
|
||||||
|
|
||||||
@r depends on !patch@
|
@r depends on !patch@
|
||||||
expression *x;
|
expression *x;
|
||||||
expression f;
|
expression f;
|
||||||
|
expression i;
|
||||||
position p;
|
position p;
|
||||||
type T;
|
type T;
|
||||||
@@
|
@@
|
||||||
|
@ -49,6 +61,10 @@ type T;
|
||||||
*f(...,(T)(x),...,sizeof@p(x),...)
|
*f(...,(T)(x),...,sizeof@p(x),...)
|
||||||
|
|
|
|
||||||
*f(...,sizeof@p(x),...,(T)(x),...)
|
*f(...,sizeof@p(x),...,(T)(x),...)
|
||||||
|
|
|
||||||
|
*f(...,(T)(x),...,i*sizeof@p(x),...)
|
||||||
|
|
|
||||||
|
*f(...,i*sizeof@p(x),...,(T)(x),...)
|
||||||
)
|
)
|
||||||
|
|
||||||
@script:python depends on org@
|
@script:python depends on org@
|
||||||
|
|
Loading…
Reference in New Issue