Re: [v2] coccinelle: semantic code search for missing of_node_put

From: Julia Lawall
Date: Sat Jun 29 2019 - 03:49:08 EST




On Sat, 29 Jun 2019, Markus Elfring wrote:

> >> +if (x == NULL || ...) S
> >> +... when != e = (T)x
> >> + when != true x == NULL
> >
> > I wonder if this code exclusion specification is really required
> > after a null pointer was checked before.
>
> I would like to add another view for this implementation detail.
>
> The when constraint can express a software desire which can be reasonable
> to some degree. You would like to be sure that a null pointer will not occur
> after a corresponding check succeeded.

He wants to be sure that the true branch through a NULL pointer check is
not taken.

> * But I feel unsure about the circumstances under which the Coccinelle software
> can determine this aspect actually.
>
> * I find that it can eventually make sense only after the content of
> the local variable (which is identified by âxâ) was modified.
> Thus I would find the exclusion of assignments more useful at this place.

I assume that it was added because it was found to be useful. Please
actually try things out before declaring them to be useless.

julia