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:
Vaishali Thakkar 2016-05-24 09:49:17 +05:30 коммит произвёл Michal Marek
Родитель 1a695a905c
Коммит bf56cc04ef
1 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -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@