[libvirt] [PATCH] virCapabilitiesInitCaches: Don't leak @cpus

Michal Privoznik posted 1 patch 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/6e9e1423e1b30e0683f016f830d4b73da8423af4.1496045426.git.mprivozn@redhat.com
src/conf/capabilities.c | 1 +
1 file changed, 1 insertion(+)
[libvirt] [PATCH] virCapabilitiesInitCaches: Don't leak @cpus
Posted by Michal Privoznik 6 years, 10 months ago
The @cpus is allocated by virFileReadValueBitmap() but never
freed:

==21274== 40 (32 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 808 of 1,004
==21274==    at 0x4C2E080: calloc (vg_replace_malloc.c:711)
==21274==    by 0x54BA561: virAlloc (viralloc.c:144)
==21274==    by 0x54BC604: virBitmapNewEmpty (virbitmap.c:126)
==21274==    by 0x54BD059: virBitmapParseUnlimited (virbitmap.c:570)
==21274==    by 0x54EECE9: virFileReadValueBitmap (virfile.c:4113)
==21274==    by 0x5563132: virCapabilitiesInitCaches (capabilities.c:1548)
==21274==    by 0x2BB86E59: virQEMUCapsInit (qemu_capabilities.c:1132)
==21274==    by 0x2BBEC067: virQEMUDriverCreateCapabilities (qemu_conf.c:928)
==21274==    by 0x2BC3DEAA: qemuStateInitialize (qemu_driver.c:845)
==21274==    by 0x5625AAC: virStateInitialize (libvirt.c:770)
==21274==    by 0x124519: daemonRunStateInit (libvirtd.c:881)
==21274==    by 0x554C927: virThreadHelper (virthread.c:206)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 src/conf/capabilities.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index a91a72a35..43b15761a 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -1643,5 +1643,6 @@ virCapabilitiesInitCaches(virCapsPtr caps)
     VIR_FREE(path);
     VIR_DIR_CLOSE(dirp);
     virCapsHostCacheBankFree(bank);
+    virBitmapFree(cpus);
     return ret;
 }
-- 
2.13.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] virCapabilitiesInitCaches: Don't leak @cpus
Posted by Peter Krempa 6 years, 10 months ago
On Mon, May 29, 2017 at 10:10:26 +0200, Michal Privoznik wrote:
> The @cpus is allocated by virFileReadValueBitmap() but never
> freed:
> 
> ==21274== 40 (32 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 808 of 1,004
> ==21274==    at 0x4C2E080: calloc (vg_replace_malloc.c:711)
> ==21274==    by 0x54BA561: virAlloc (viralloc.c:144)
> ==21274==    by 0x54BC604: virBitmapNewEmpty (virbitmap.c:126)
> ==21274==    by 0x54BD059: virBitmapParseUnlimited (virbitmap.c:570)
> ==21274==    by 0x54EECE9: virFileReadValueBitmap (virfile.c:4113)
> ==21274==    by 0x5563132: virCapabilitiesInitCaches (capabilities.c:1548)
> ==21274==    by 0x2BB86E59: virQEMUCapsInit (qemu_capabilities.c:1132)
> ==21274==    by 0x2BBEC067: virQEMUDriverCreateCapabilities (qemu_conf.c:928)
> ==21274==    by 0x2BC3DEAA: qemuStateInitialize (qemu_driver.c:845)
> ==21274==    by 0x5625AAC: virStateInitialize (libvirt.c:770)
> ==21274==    by 0x124519: daemonRunStateInit (libvirtd.c:881)
> ==21274==    by 0x554C927: virThreadHelper (virthread.c:206)
> 
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>  src/conf/capabilities.c | 1 +
>  1 file changed, 1 insertion(+)

ACK, safe for freeze
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list