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:
Родитель
1a695a905c
Коммит
bf56cc04ef
|
@ -16,6 +16,7 @@ virtual patch
|
|||
@depends on patch@
|
||||
expression *x;
|
||||
expression f;
|
||||
expression i;
|
||||
type T;
|
||||
@@
|
||||
|
||||
|
@ -30,15 +31,26 @@ f(...,(T)(x),...,sizeof(
|
|||
+ *x
|
||||
),...)
|
||||
|
|
||||
f(...,sizeof(x),...,(T)(
|
||||
f(...,sizeof(
|
||||
- x
|
||||
+ *x
|
||||
),...,(T)(x),...)
|
||||
|
|
||||
f(...,(T)(x),...,i*sizeof(
|
||||
- x
|
||||
+ *x
|
||||
),...)
|
||||
|
|
||||
f(...,i*sizeof(
|
||||
- x
|
||||
+ *x
|
||||
),...,(T)(x),...)
|
||||
)
|
||||
|
||||
@r depends on !patch@
|
||||
expression *x;
|
||||
expression f;
|
||||
expression i;
|
||||
position p;
|
||||
type T;
|
||||
@@
|
||||
|
@ -49,6 +61,10 @@ type T;
|
|||
*f(...,(T)(x),...,sizeof@p(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@
|
||||
|
|
Загрузка…
Ссылка в новой задаче