On Tue, 2014-08-12 at 12:00 +1000, Peter Crosthwaite wrote: > 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>
Thanks, Chen > > > --- > > 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 > > > >