diff options
author | Chen Fan | 2014-08-18 08:46:33 +0200 |
---|---|---|
committer | Michael Tokarev | 2014-09-02 20:38:16 +0200 |
commit | b0e90181e4d7244a9466447703acdb2cdd7abdaa (patch) | |
tree | d3cb0cc7dbb9482199e33ab509f820849fd6beef | |
parent | MAINTAINERS: Add VMWare devices maintainer (diff) | |
download | qemu-b0e90181e4d7244a9466447703acdb2cdd7abdaa.tar.gz qemu-b0e90181e4d7244a9466447703acdb2cdd7abdaa.tar.xz qemu-b0e90181e4d7244a9466447703acdb2cdd7abdaa.zip |
query-memdev: fix potential memory leaks
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>
-rw-r--r-- | numa.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -318,10 +318,11 @@ void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner, static int query_memdev(Object *obj, void *opaque) { MemdevList **list = opaque; + MemdevList *m = NULL; Error *err = NULL; if (object_dynamic_cast(obj, TYPE_MEMORY_BACKEND)) { - MemdevList *m = g_malloc0(sizeof(*m)); + m = g_malloc0(sizeof(*m)); m->value = g_malloc0(sizeof(*m->value)); @@ -369,6 +370,9 @@ static int query_memdev(Object *obj, void *opaque) return 0; error: + g_free(m->value); + g_free(m); + return -1; } |