From 7f90b137bf201bbdc717e91a542781e56cc52204 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Thu, 28 Oct 2021 15:58:16 -0600 Subject: [PATCH] libxl: Free data returned from libxl_userdata_retrieve Found via valgrind ==15016== 3,701 bytes in 2 blocks are definitely lost in loss record 975 of 1,009 ==15016== at 0x4C2A2AF: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==15016== by 0x1FCD30CB: libxl_read_file_contents (in /usr/lib64/libxenlight.so.4.12.0) ==15016== by 0x1FCCA58A: ??? (in /usr/lib64/libxenlight.so.4.12.0) ==15016== by 0x1FCCA6C2: libxl_userdata_retrieve (in /usr/lib64/libxenlight.so.4.12.0) ==15016== by 0x1FA42A5A: libxlReconnectDomain (libxl_driver.c:394) ==15016== by 0x53BAC99: virDomainObjListHelper (virdomainobjlist.c:802) ==15016== by 0x530842F: virHashForEach (virhash.c:575) ==15016== by 0x53BC0E0: virDomainObjListForEach (virdomainobjlist.c:817) ==15016== by 0x1FA423C4: libxlReconnectDomains (libxl_driver.c:468) ==15016== by 0x1FA423C4: libxlStateInitialize (libxl_driver.c:778) ==15016== by 0x54E8E9E: virStateInitialize (libvirt.c:657) ==15016== by 0x12DBFA: daemonRunStateInit (remote_daemon.c:797) ==15016== by 0x535BF79: virThreadHelper (virthread.c:206) Signed-off-by: Jim Fehlig Reviewed-by: Michal Privoznik --- src/libxl/libxl_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 7ea157f9c4..3f67cda9e9 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -389,7 +389,7 @@ libxlReconnectDomain(virDomainObj *vm, int rc; libxl_dominfo d_info; int len; - uint8_t *data = NULL; + g_autofree uint8_t *data = NULL; virHostdevManager *hostdev_mgr = driver->hostdevMgr; unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI; int ret = -1;