All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
@ 2015-06-23  1:31 zhanghailiang
  2015-06-23  5:23 ` Scott Feldman
  2015-06-23  6:06 ` Scott Feldman
  0 siblings, 2 replies; 9+ messages in thread
From: zhanghailiang @ 2015-06-23  1:31 UTC (permalink / raw)
  To: qemu-trivial; +Cc: jiri, sfeldma, zhanghailiang, pbonzini

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
---
 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;
     }
 
-- 
1.7.12.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  1:31 [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity zhanghailiang
@ 2015-06-23  5:23 ` Scott Feldman
  2015-06-23  5:46   ` zhanghailiang
  2015-06-23  8:01   ` Paolo Bonzini
  2015-06-23  6:06 ` Scott Feldman
  1 sibling, 2 replies; 9+ messages in thread
From: Scott Feldman @ 2015-06-23  5:23 UTC (permalink / raw)
  To: zhanghailiang; +Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko

On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
<zhang.zhanghailiang@huawei.com> wrote:
> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> ---
>  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:

--- 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));
+    if (!rocker) {
+        error_set(errp, ERROR_CLASS_GENERIC_ERROR, "out-of-memory");
+        return NULL;
+    }
+


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  5:23 ` Scott Feldman
@ 2015-06-23  5:46   ` zhanghailiang
  2015-06-23  6:06     ` Scott Feldman
  2015-06-23  8:01   ` Paolo Bonzini
  1 sibling, 1 reply; 9+ messages in thread
From: zhanghailiang @ 2015-06-23  5:46 UTC (permalink / raw)
  To: Scott Feldman
  Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko,
	peter.huangpeng

On 2015/6/23 13:23, Scott Feldman wrote:
> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
> <zhang.zhanghailiang@huawei.com> wrote:
>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>> ---
>>   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)).

> +    if (!rocker) {
> +        error_set(errp, ERROR_CLASS_GENERIC_ERROR, "out-of-memory");
> +        return NULL;
> +    }
> +
>
>




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  5:46   ` zhanghailiang
@ 2015-06-23  6:06     ` Scott Feldman
  0 siblings, 0 replies; 9+ messages in thread
From: Scott Feldman @ 2015-06-23  6:06 UTC (permalink / raw)
  To: zhanghailiang
  Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko,
	peter.huangpeng

On Mon, Jun 22, 2015 at 10:46 PM, zhanghailiang
<zhang.zhanghailiang@huawei.com> wrote:
> On 2015/6/23 13:23, Scott Feldman wrote:
>>
>> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
>> <zhang.zhanghailiang@huawei.com> wrote:
>>>
>>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>>> ---
>>>   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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  1:31 [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity zhanghailiang
  2015-06-23  5:23 ` Scott Feldman
@ 2015-06-23  6:06 ` Scott Feldman
  2015-07-07  1:20   ` zhanghailiang
  1 sibling, 1 reply; 9+ messages in thread
From: Scott Feldman @ 2015-06-23  6:06 UTC (permalink / raw)
  To: zhanghailiang; +Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko

On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
<zhang.zhanghailiang@huawei.com> wrote:
> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>

Acked-by: Scott Feldman <sfeldma@gmail.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  5:23 ` Scott Feldman
  2015-06-23  5:46   ` zhanghailiang
@ 2015-06-23  8:01   ` Paolo Bonzini
  1 sibling, 0 replies; 9+ messages in thread
From: Paolo Bonzini @ 2015-06-23  8:01 UTC (permalink / raw)
  To: Scott Feldman, zhanghailiang; +Cc: qemu-trivial, Jiří Pírko



On 23/06/2015 07:23, Scott Feldman wrote:
> +    rocker = g_malloc0(sizeof(*rocker));
> +    if (!rocker) {
> +        error_set(errp, ERROR_CLASS_GENERIC_ERROR, "out-of-memory");
> +        return NULL;
> +    }
> +

g_malloc0 aborts on OOM, so this is not necessary.

Paolo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-06-23  6:06 ` Scott Feldman
@ 2015-07-07  1:20   ` zhanghailiang
  2015-07-07  1:33     ` Scott Feldman
  0 siblings, 1 reply; 9+ messages in thread
From: zhanghailiang @ 2015-07-07  1:20 UTC (permalink / raw)
  To: Scott Feldman
  Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko,
	peter.huangpeng

ping ?

Will anyone pick this up ?

On 2015/6/23 14:06, Scott Feldman wrote:
> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
> <zhang.zhanghailiang@huawei.com> wrote:
>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>
> Acked-by: Scott Feldman <sfeldma@gmail.com>
>
>




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-07-07  1:20   ` zhanghailiang
@ 2015-07-07  1:33     ` Scott Feldman
  2015-07-07  1:48       ` zhanghailiang
  0 siblings, 1 reply; 9+ messages in thread
From: Scott Feldman @ 2015-07-07  1:33 UTC (permalink / raw)
  To: zhanghailiang
  Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko,
	peter.huangpeng

On Mon, Jul 6, 2015 at 6:20 PM, zhanghailiang
<zhang.zhanghailiang@huawei.com> wrote:
> ping ?
>
> Will anyone pick this up ?

Hi zhanghailiang, Stefan picked up a similar version which uses g_new0:

http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06584.html
http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06686.html


>
> On 2015/6/23 14:06, Scott Feldman wrote:
>>
>> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
>> <zhang.zhanghailiang@huawei.com> wrote:
>>>
>>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>>
>>
>> Acked-by: Scott Feldman <sfeldma@gmail.com>
>>
>>
>
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity
  2015-07-07  1:33     ` Scott Feldman
@ 2015-07-07  1:48       ` zhanghailiang
  0 siblings, 0 replies; 9+ messages in thread
From: zhanghailiang @ 2015-07-07  1:48 UTC (permalink / raw)
  To: Scott Feldman
  Cc: qemu-trivial, Paolo Bonzini, Jiří Pírko,
	peter.huangpeng

On 2015/7/7 9:33, Scott Feldman wrote:
> On Mon, Jul 6, 2015 at 6:20 PM, zhanghailiang
> <zhang.zhanghailiang@huawei.com> wrote:
>> ping ?
>>
>> Will anyone pick this up ?
>
> Hi zhanghailiang, Stefan picked up a similar version which uses g_new0:
>
> http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06584.html
> http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06686.html
>

OK, i didn't notice it, thanks.

>
>>
>> On 2015/6/23 14:06, Scott Feldman wrote:
>>>
>>> On Mon, Jun 22, 2015 at 6:31 PM, zhanghailiang
>>> <zhang.zhanghailiang@huawei.com> wrote:
>>>>
>>>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>>>
>>>
>>> Acked-by: Scott Feldman <sfeldma@gmail.com>
>>>
>>>
>>
>>
>
>




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-07-07  1:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-23  1:31 [Qemu-trivial] [PATCH] rocker: Fix memory leak reported by coverity zhanghailiang
2015-06-23  5:23 ` Scott Feldman
2015-06-23  5:46   ` zhanghailiang
2015-06-23  6:06     ` Scott Feldman
2015-06-23  8:01   ` Paolo Bonzini
2015-06-23  6:06 ` Scott Feldman
2015-07-07  1:20   ` zhanghailiang
2015-07-07  1:33     ` Scott Feldman
2015-07-07  1:48       ` zhanghailiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.