On Mon, Aug 4, 2014 at 2:21 PM, Chen Fan <chen.fan.f...@cn.fujitsu.com> 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 <chen.fan.f...@cn.fujitsu.com>
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 <peter.crosthwa...@xilinx.com> > --- > 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 > >