summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Denemark <jdenemar@redhat.com>2012-02-08 14:35:12 +0100
committerJiri Denemark <jdenemar@redhat.com>2012-02-08 14:35:12 +0100
commit91ca45f9dc17668b3d6f8d90bb25038e04d11b9f (patch)
treeff962f52b70f7f3cf9c4012b774e78d63dba4d91
parentqemu: Always use iohelper for domain save (diff)
downloadlibvirt-91ca45f9dc17668b3d6f8d90bb25038e04d11b9f.tar.gz
libvirt-91ca45f9dc17668b3d6f8d90bb25038e04d11b9f.tar.bz2
libvirt-91ca45f9dc17668b3d6f8d90bb25038e04d11b9f.zip
qemu: Fix memory leak when building -cpu argument
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)
-rw-r--r--src/qemu/qemu_command.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 0e26df1cc..a346f1e1c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -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);