Re: [PATCH] coccinelle: api: add kzfree script
From: Markus Elfring
Date: Thu Jun 04 2020 - 11:21:23 EST
> 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