From: Chen Fan <chen.fan.f...@cn.fujitsu.com> 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> Reviewed-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Reviewed-by: Hu Tao <hu...@cn.fujitsu.com> Signed-off-by: Michael Tokarev <m...@tls.msk.ru> --- 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 aa772aa..f07149b 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.7.10.4