]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix memory leak when building -cpu argument
authorJiri Denemark <jdenemar@redhat.com>
Wed, 8 Feb 2012 13:35:12 +0000 (14:35 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 8 Feb 2012 13:35:12 +0000 (14:35 +0100)
Reported by Alex Jia:

==21503== 112 (32 direct, 80 indirect) bytes in 1 blocks are
definitely lost in loss record 37 of 40
==21503==    at 0x4A04A28: calloc (vg_replace_malloc.c:467)
==21503==    by 0x4A8991: virAlloc (memory.c:101)
==21503==    by 0x505A6C: x86DataCopy (cpu_x86.c:247)
==21503==    by 0x507B34: x86Compute (cpu_x86.c:1225)
==21503==    by 0x43103C: qemuBuildCommandLine (qemu_command.c:3561)
==21503==    by 0x41C9F7: testCompareXMLToArgvHelper
(qemuxml2argvtest.c:183)
==21503==    by 0x41E10D: virtTestRun (testutils.c:141)
==21503==    by 0x41B942: mymain (qemuxml2argvtest.c:705)
==21503==    by 0x41D7E7: virtTestMain (testutils.c:696)

src/qemu/qemu_command.c

index 0e26df1ccc4c18a0e308da336c5d8eefa68ec993..a346f1e1c66d7d66832813107d84c7aee91dd8b2 100644 (file)
@@ -3666,8 +3666,7 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
     ret = 0;
 
 cleanup:
-    if (guest)
-        cpuDataFree(guest->arch, data);
+    cpuDataFree(host->arch, data);
     virCPUDefFree(guest);
     virCPUDefFree(cpu);