]> xenbits.xensource.com Git - libvirt.git/commitdiff
domaincapstest: Don't leak cpu definitions
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 11 Dec 2019 09:13:15 +0000 (10:13 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 18 Dec 2019 13:28:48 +0000 (14:28 +0100)
When generating domain capabilities, we need to fake host CPU to
get reproducible result. We do this by copying a pre-existent CPU
config and setting VIR_TEST_MOCK_FAKE_HOST_CPU env variable which
is then consumed by qemucpumock. However, we forget to free the
CPU copy afterwards.

 2,196 (2,016 direct, 180 indirect) bytes in 18 blocks are definitely lost in loss record 291 of 297
    at 0x4838B86: calloc (vg_replace_malloc.c:762)
    by 0x57CB6A0: g_malloc0 (in /usr/lib64/libglib-2.0.so.0.6000.7)
    by 0x4A0F72D: virCPUDefNew (cpu_conf.c:87)
    by 0x4A0FAC7: virCPUDefCopyWithoutModel (cpu_conf.c:235)
    by 0x4A0FBBE: virCPUDefCopy (cpu_conf.c:273)
    by 0x10E3C0: testUtilsHostCpusGetDefForArch (testutilshostcpus.h:157)
    by 0x10E3C0: fakeHostCPU (domaincapstest.c:61)
    by 0x10E3C0: fillQemuCaps (domaincapstest.c:86)
    by 0x10E3C0: test_virDomainCapsFormat (domaincapstest.c:234)
    by 0x10F4BC: virTestRun (testutils.c:146)
    by 0x10DE93: doTestQemuInternal (domaincapstest.c:301)
    by 0x10E13D: doTestQemu (domaincapstest.c:332)
    by 0x1124CF: testQemuCapsIterate (testutilsqemu.c:635)
    by 0x10DCE3: mymain (domaincapstest.c:435)
    by 0x10FD8B: virTestMain (testutils.c:916)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
tests/domaincapstest.c

index a4a443b1d67e228f6e173ead519b3095063a829e..9f5eab323080ea6cab0493a688ce687641a43ee4 100644 (file)
@@ -56,7 +56,7 @@ fillStringValues(virDomainCapsStringValuesPtr values, ...)
 static int
 fakeHostCPU(virArch arch)
 {
-    virCPUDefPtr cpu;
+    g_autoptr(virCPUDef) cpu = NULL;
 
     if (!(cpu = testUtilsHostCpusGetDefForArch(arch))) {
         virReportError(VIR_ERR_INTERNAL_ERROR,