Re: [PATCH] Remove useless if-before-free tests.
- From
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
- Date
- Feb 26, 2008, 06:59 UTC
- Message-ID
- <20080226065953.GA25073@informatik.uni-freiburg.de>
- In-Reply-To
- <7vd4qo7fsc.fsf@gitster.siamese.dyndns.org>
Hello Junio,
Show 13 quoted lines
> I am not interested in automating useless "if (x) free(x)" > tests, but one thing I recently wanted but did not know a handy > tool for was to find all the calls to free() that free a pointer > to an object of a particular type. More specifically, we seem > to allocate and free many "struct commit_list", and I wanted to > introduce a custom bulk allocator. Allocate many of them in a > block, hand out one by one, and tell callers to hand them back > not to free() but to the allocator so that it can keep the > returned ones on a linked list and hand them back again when the > next call wanted to allocate one without actually calling > xmalloc()). But in order to do so, missed conversion from > malloc() to the custom allocator is not fatal (just wasteful), > but forgetting to convert free() really is.
Maybe http://www.emn.fr/x-info/coccinelle/ can help you?
I think it could automate if (x) free(x), too.
Best regards Uwe
-- Uwe Kleine-König