[cfe-dev] Dead stores of NULLs
Ted Kremenek
kremenek at apple.com
Fri Jun 20 15:09:08 PDT 2008
On Jun 19, 2008, at 5:40 PM, Nikita Zhuk wrote:
> First I would like to express my appreciation for the great static
> analyzer, which is already producing useful results. I've been able to
> find several memory leaks and some dead stores.
That's wonderful to hear!
> However, I would like
> to address an issue which produces some dead store reports which are
> technically correct (they really are dead stores), but I would still
> like to ignore them.
>
> When I allocate an object (by using alloc & init* or one of the
> *Create* functions) and store it into a local variable inside some
> scope, I tend to set it to nil/NULL after the object has been
> released. This is an intentional dead store, which prevents any use of
> that released object later in the same scope.
I agree, the dead store checker is meant to find bugs, not penalize
defensive programming. The following patch causes dead assignments of
null to pointers to not be treated as warnings:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080616/006188.html
checker-42 (on the clang website) includes this patch. If you find
cases where this fix doesn't handle all cases, please let me know.
Ted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080620/c51f4363/attachment.html>
More information about the cfe-dev
mailing list