Messages in this thread | | | From | Markus Elfring <> | Subject | Re: [PATCH] coccinelle: api: add kzfree script | Date | Thu, 4 Jun 2020 17:20:58 +0200 |
| |
> Check for memset() with 0 followed by kfree().
I suggest to simplify the SmPL code a bit like the following.
> +virtual context > +virtual org > +virtual report > +virtual patch
+virtual context, org, report, patch
… > +@@ > + > +( > +* memset(E, 0, ...); > +| > +* memset(E, '\0', ...); > +) > +* kfree(E)@p;
+@@ +*memset(E, 0, ...); +*kfree(E)@p;
How does the SmPL asterisk functionality fit to the operation modes “org” and “report”?
> +@@ > + > +( > +- memset(E, 0, ...); > +| > +- memset(E, '\0', ...); > +) > +- kfree(E); > ++ kzfree(E);
+@@ +-memset(E, 0, ...); +-kfree ++kzfree + (E);
I got the impression that the specification of a SmPL disjunction could be omitted because of the technical detail that the isomorphism “zero_multiple_format” should handle such an use case already.
Would you like to tolerate any extra source code between these function calls?
Regards, Markus
| |