[cfe-users] check for double delete
Bernd Schubert
bernd.schubert at itwm.fraunhofer.de
Fri Aug 2 10:17:03 PDT 2013
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?
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
>
More information about the cfe-users
mailing list