qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [v2 3/3] hmp: fix MemdevList memory leak


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [v2 3/3] hmp: fix MemdevList memory leak
Date: Tue, 12 Aug 2014 12:00:42 +1000

On Mon, Aug 4, 2014 at 2:21 PM, Chen Fan <address@hidden> wrote:
> the memdev_list in hmp_info_memdev() is never freed.
> so we use existent method qapi_free_MemdevList() to free it.
> and also we can use qapi_free_MemdevList() to replace list loops
> to clean up the memdev list in error path.
>
> Signed-off-by: Chen Fan <address@hidden>

I'm hazy on the subtleties of these QAPI stuffs. Round one review I
was thinking pure C but your approach looks better than my suggestion.

Reviewed-by: Peter Crosthwaite <address@hidden>

> ---
>  hmp.c  | 2 ++
>  numa.c | 9 ++-------
>  2 files changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/hmp.c b/hmp.c
> index ba40c75..40a90da 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -1715,4 +1715,6 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
>      }
>
>      monitor_printf(mon, "\n");
> +
> +    qapi_free_MemdevList(memdev_list);
>  }
> diff --git a/numa.c b/numa.c
> index a2b4bca..b3e140e 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -379,7 +379,7 @@ error:
>  MemdevList *qmp_query_memdev(Error **errp)
>  {
>      Object *obj;
> -    MemdevList *list = NULL, *m;
> +    MemdevList *list = NULL;
>
>      obj = object_resolve_path("/objects", NULL);
>      if (obj == NULL) {
> @@ -393,11 +393,6 @@ MemdevList *qmp_query_memdev(Error **errp)
>      return list;
>
>  error:
> -    while (list) {
> -        m = list;
> -        list = list->next;
> -        g_free(m->value);
> -        g_free(m);
> -    }
> +    qapi_free_MemdevList(list);
>      return NULL;
>  }
> --
> 1.9.3
>
>



reply via email to

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