]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemuDomainObjPrivateFree: Free @masterKey too
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 8 Jul 2016 21:37:24 +0000 (23:37 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 11 Jul 2016 14:24:04 +0000 (16:24 +0200)
commit6b6e2cf92bd689f772aea7c640353c485536bfb7
treedd0ed8c09a04a1bde6a7d90ac40c4cec65719902
parent87df945240dcd9769d6fd6dbddfb2bb5601b349d
qemuDomainObjPrivateFree: Free @masterKey too

This one's a bit more complicated. In qemuProcessPrepareDomain()
a master key for encrypting secret for ciphered disks is created.
This object lives within qemuDomainObjPrivate object. It is freed
in qemuProcessStop(), but if nobody calls it (for instance like
our qemuxml2argvtest does), the key object leaks.

==17078== 32 bytes in 1 blocks are definitely lost in loss record 633 of 707
==17078==    at 0x4C2C070: calloc (vg_replace_malloc.c:623)
==17078==    by 0xAD924DF: virAllocN (viralloc.c:191)
==17078==    by 0x5050BA6: virCryptoGenerateRandom (qemuxml2argvmock.c:166)
==17078==    by 0x453DC8: qemuDomainMasterKeyCreate (qemu_domain.c:678)
==17078==    by 0x47A36B: qemuProcessPrepareDomain (qemu_process.c:4913)
==17078==    by 0x47C728: qemuProcessCreatePretendCmd (qemu_process.c:5542)
==17078==    by 0x433698: testCompareXMLToArgvFiles (qemuxml2argvtest.c:332)
==17078==    by 0x4339AC: testCompareXMLToArgvHelper (qemuxml2argvtest.c:413)
==17078==    by 0x446E7A: virTestRun (testutils.c:179)
==17078==    by 0x445BD9: mymain (qemuxml2argvtest.c:2022)
==17078==    by 0x44886F: virTestMain (testutils.c:969)
==17078==    by 0x445D9B: main (qemuxml2argvtest.c:2036)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_domain.c