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
> >
> >

Reply via email to