Re: [PATCH] cocci: detect useless free(3) calls
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 11, 2017, 19:01 UTC
- Message-ID
- <xmqqr334h7rg.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <7e10f934-f084-ceb4-00eb-b75cdb01886b@web.de>
René Scharfe <l.s.r@web.de> writes:
Show 8 quoted lines
> 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@web.de> > --- > 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.
Show 18 quoted lines
> > 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);