From: Junio C Hamano Date: Sat, 11 Feb 2017 19:01:07 GMT Subject: Re: [PATCH] cocci: detect useless free(3) calls Message-ID: In-Reply-To: <7e10f934-f084-ceb4-00eb-b75cdb01886b@web.de> René Scharfe 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 > --- > 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);