René Scharfe <l.s.r@xxxxxx> writes: > Add a semantic patch for removing checks that cause free(3) to only be > called with a NULL pointer, as that must be a programming mistake. > > Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> > --- > No cases are found in master or next, but 1d263b93 (bisect--helper: > `bisect_next_check` & bisect_voc shell function in C) introduced four > of them to pu. Thanks. This should have been caught by code inspection, but having automated way to do so is always good. > > contrib/coccinelle/free.cocci | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/contrib/coccinelle/free.cocci b/contrib/coccinelle/free.cocci > index e28213161a..c03ba737e5 100644 > --- a/contrib/coccinelle/free.cocci > +++ b/contrib/coccinelle/free.cocci > @@ -3,3 +3,9 @@ expression E; > @@ > - if (E) > free(E); > + > +@@ > +expression E; > +@@ > +- if (!E) > + free(E);