qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity


From: Scott Feldman
Subject: Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
Date: Mon, 22 Jun 2015 23:06:18 -0700

On Mon, Jun 22, 2015 at 10:46 PM, zhanghailiang
<address@hidden> wrote:
> On 2015/6/23 13:23, Scott Feldman wrote:
>>
>> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
>> <address@hidden> wrote:
>>>
>>> Signed-off-by: zhanghailiang <address@hidden>
>>> ---
>>>   hw/net/rocker/rocker.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
>>> index 4d25842..d06116e 100644
>>> --- a/hw/net/rocker/rocker.c
>>> +++ b/hw/net/rocker/rocker.c
>>> @@ -103,6 +103,7 @@ RockerSwitch *qmp_query_rocker(const char *name,
>>> Error **errp)
>>>       if (!r) {
>>>           error_set(errp, ERROR_CLASS_GENERIC_ERROR,
>>>                     "rocker %s not found", name);
>>> +        g_free(rocker);
>>>           return NULL;
>>>       }
>>
>>
>> I'll post a patch to fix this one this way, to report alloc failure:
>>
>
> Yes, this is another way to fix this problem~
>
>> --- a/hw/net/rocker/rocker.c
>> +++ b/hw/net/rocker/rocker.c
>> @@ -96,7 +96,7 @@ World *rocker_get_world(Rocker *r, enum
>> rocker_world_type type)
>>
>>   RockerSwitch *qmp_query_rocker(const char *name, Error **errp)
>>   {
>> -    RockerSwitch *rocker = g_malloc0(sizeof(*rocker));
>> +    RockerSwitch *rocker;
>>       Rocker *r;
>>
>>       r = rocker_find(name);
>> @@ -106,6 +106,12 @@ RockerSwitch *qmp_query_rocker(const char *name,
>> Error **errp)
>>           return NULL;
>>       }
>>
>> +    rocker = g_malloc0(sizeof(*rocker));
>
>
> It's unnecessary to check the return value of 'g_malloc0', because it only
> return NULL when the size is 0, obviously, here it is not
> zero.(sizeof(*rocker)).

My bad.  I like your version better.  :)  I'll Acked-by it.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]