[cfe-users] check for double delete
Anna Zaks
ganna at apple.com
Fri Aug 2 10:52:07 PDT 2013
On Aug 2, 2013, at 10:16 AM, Bernd Schubert <bernd.schubert at itwm.fraunhofer.de> wrote:
> Thanks Anna,
>
> and sorry, it was just some pseudo code I quickly wrote down. Hmm,
> indeed it does report it, but it didn't for the actual code I was using.
> Ah, the actual code has foo() in a different file. Is it possible to use
> the analyzer with link time optimization?
>
That must be it. The analyzer can only "see" functions which have definitions in the same translation unit - same source file or one of the included headers.
> Thanks,
> Bernd
>
> On 08/02/2013 07:04 PM, Anna Zaks wrote:
>> Bernd,
>>
>> The latest analyzer should warn about double frees.
>>
>> The code you provided does not compile, but the analyzer warns on this
>> fixed code snippet:
>> class my_object_t {};
>> void foo(my_object_t *obj) {
>> delete obj;
>> }
>> int foo2() {
>> my_object_t *obj = new my_object_t;
>> if (!obj)
>> return -1;
>> foo(obj);
>> delete obj;
>> }
>>
>> */Users/zaks/tmp/ex.cpp:10:2: **warning: **Attempt to free released memory*
>> delete obj;
>>
>> Cheers,
>> Anna.
>> On Aug 2, 2013, at 5:09 AM, Bernd Schubert
>> <bernd.schubert at itwm.fraunhofer.de
>> <mailto:bernd.schubert at itwm.fraunhofer.de>> wrote:
>>
>>> Hi all,
>>>
>>> is there some way to instruct the static analyzer to check for double
>>> deleted objects?
>>>
>>>
>>> void foo(my_object_t obj)
>>> {
>>> delete obj;
>>> }
>>>
>>> main()
>>> {
>>> my_object_t *obj = new my_object_t;
>>>
>>> if (!obj)
>>> return -1;
>>>
>>> foo(obj);
>>>
>>> delete obj;
>>> }
>>>
>>>
>>> I just found something like that in my code and the static analyzer
>>> hadn't detected it.
>>>
>>>
>>> Thanks,
>>> Bernd
>>>
>>> _______________________________________________
>>> cfe-users mailing list
>>> cfe-users at cs.uiuc.edu <mailto:cfe-users at cs.uiuc.edu>
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20130802/737f0ca1/attachment.html>
More information about the cfe-users
mailing list