[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 22:23:35 -0700 |
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:
--- 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;
+ }
+