[PATCH][Review request] unix.Malloc checker improvement: +handling new/delete, +memory.MismatchedFree, +memory.MismatchedDelete, +improved display names for allocators/deallocators

Anna Zaks ganna at apple.com
Fri Apr 19 09:52:37 PDT 2013


On Apr 19, 2013, at 2:45 AM, Anton Yartsev <anton.yartsev at gmail.com> wrote:

> On 29.03.2013 4:00, Anna Zaks wrote:
>> I've committed the new callback. Looks like no email was sent out.. So just look at r178310.
> +static bool retTrue(const RefState *RS) {
> +  return true;
> +}
> +
> +static bool checkIfNewOrNewArrayFamily(const RefState *RS) {
> +  return (RS->getAllocationFamily() == AF_CXXNewArray ||
> +          RS->getAllocationFamily() == AF_CXXNew);
> +}
> ...........
> +      if (RS->isAllocated() && CheckRefState(RS))
>         State = State->remove<RegionState>(sym);
>     }
>   }
> 
> Anna, could you, please, clarify why we only process C++ families on const escape here?
> 

Because we assume that the user can call 'delete' on a const pointer, but cannot call 'free' on it.

> -- 
> Anton

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130419/79efcf44/attachment.html>


More information about the cfe-commits mailing list