Re: [Cocci] [PATCH v3] Coccinelle: Script to replace allocate and memset with zalloc functions

From: SF Markus Elfring
Date: Mon Aug 01 2016 - 08:46:59 EST


>>>> @vz_combined
>>>> depends on patch && !context && !org && !report@
>>>> type T;
>>>> T* pointer;
>>>> +statement S;
>>>> expression express;
>>>> @@
>>>> pointer =
>>>> - vmalloc
>>>> + vzalloc
>>>> (...);
>>>> if (!d)
>>>> S
>>>> -memset(d, 0, sizeof(
>>>> (
>>>> -T
>>>> |
>>>> -*(express)
>>>> )
>>>> -));
>
> Actually, this is a mess. pointer, d, and express are all supposed to be
> the same thing, as they were in the original rule.
>
> Furthermore, this shows a reason why the original rule was better.

There is a trade-off between several unique SmPL rules and other combined
variants which could eventually work with two SmPL disjunctions.

Regards,
Markus