r179410 - [analyzer] Makes NewDeleteLeaks checker work independently from NewDelete.

Anton Yartsev anton.yartsev at gmail.com
Fri Apr 12 16:27:12 PDT 2013


On 13.04.2013 2:45, Jordan Rose wrote:
>
> On Apr 12, 2013, at 15:36 , Anton Yartsev <anton.yartsev at gmail.com 
> <mailto:anton.yartsev at gmail.com>> wrote:
>
>> On 13.04.2013 1:52, Jordan Rose wrote:
>>> Sorry, I did this deliberately—I wanted NewDeleteLeaks to be a 
>>> "sub-checker" of sorts, where you couldn't track leaks without also 
>>> tracking use-after-free issues. Of course, if I really wanted to do 
>>> that, I should have also made NewDeleteLeaks automatically enable 
>>> NewDelete, in the same way that they all enable the basic 
>>> CStringChecker. (Really, only the malloc checkers should do that.)
>>>
>>> I guess I should have discussed this with you before slipping it in 
>>> like this, but do you have an opinion on which way you'd prefer and 
>>> why? (Can't tell if this is an opinion or just automatically fixing 
>>> what looked like a mistake.)
>>
>> Just automatically fixing. I addressed false-positive leaks and only 
>> enabled NewDeleteLeaks. Was surprised that it does not catch 
>> anything. Thought it is a bug.
>> Should I rollback the commit and add explanatory comment or leave as 
>> is for now?
>
> Yes, I think so; adding the code to have NewDeleteLeaks automatically 
> enable NewDelete also makes sense, so that we don't trip over this 
> again and so that the dependency is documented in code.
>
> My particular reason for this is that we already have a number of 
> tests about the interaction between the different pieces of 
> MallocChecker, and I'd like to avoid adding to that configuration 
> matrix. This way, we never have to worry about the case where 
> NewDeleteLeaks is enabled but NewDelete is not, which should help us 
> avoid the problems like what happened with MismatchedDeallocator 
> (Malloc + MismatchedDeallocator = NewDelete!).
>
> Thanks!
> Jordan
Committed at r179428.

-- 
Anton

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130413/6413012f/attachment.html>


More information about the cfe-commits mailing list