hmp: fix MemdevList memory leak

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.fnst@cn.fujitsu.com>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
Chen Fan 2014-08-18 14:46:35 +08:00 committed by Michael Tokarev
parent 976620ac40
commit ecaf54a052
2 changed files with 4 additions and 7 deletions

2
hmp.c
View File

@ -1715,4 +1715,6 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
}
monitor_printf(mon, "\n");
qapi_free_MemdevList(memdev_list);
}

9
numa.c
View File

@ -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;
}