[libvirt] [PATCH] tests: Fix memory leak in virnetmessagetest
Osier Yang
jyang at redhat.com
Wed Jun 29 01:56:44 UTC 2011
于 2011年06月28日 21:10, Eric Blake 写道:
> On 06/28/2011 03:16 AM, Osier Yang wrote:
>> Detected when playing with "make -C tests valgrind".
>> ---
>> tests/virnetmessagetest.c | 35 ++++++++++++++++++++++++-----------
>> 1 files changed, 24 insertions(+), 11 deletions(-)
>>
>
>> if (VIR_ALLOC(err.str3)< 0)
>> - return -1;
>> + goto cleanup;
>> *err.str3 = strdup("Three");
>
>> +cleanup:
>> + VIR_FREE(*err.message);
>> + VIR_FREE(*err.str1);
>> + VIR_FREE(*err.str2);
>> + VIR_FREE(*err.str3);
>
> Ouch - four potential NULL derefs. You need to write these as:
>
> if (err.str3)
> VIR_FREE(*err.str3);
>
> and so forth.
ah, yes
>
>> + VIR_FREE(err.message);
>> + VIR_FREE(err.str1);
>> + VIR_FREE(err.str2);
>> + VIR_FREE(err.str3);
>
> But these four are okay.
>
>> + return ret;
>
> ACK with that fix.
>
Applied with the fix, thanks
Osier
More information about the libvir-list
mailing list