[libvirt] [PATCH] libxl: eliminate memory leak in libxmlDomainModifyDeviceFlags

Laine Stump laine at laine.org
Mon Feb 27 11:01:32 UTC 2012

I found this randomly by examination when a tag search led me to this
file. I don't have a setup to test it, but it appears fairly obvious
that this call to virDomainDeviceDefParse is both unnecessary (since
it will again be called at the top of the immediately following if(),
and if not there, then at the top of the if following that), but it
also creates a leak of one virDomainDeviceDef and one [whatever type
of device the DeviceDef is pointing to; probably a virDomainDiskDef]
in the case that the function has been called with
VIR_DOMAIN_DEVICE_MODIFY_CONFIG (the second parse will overwrite the
devicedef that was just created).
 src/libxl/libxl_driver.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 6db33c2..d5fa64a 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -3243,10 +3243,6 @@ libxlDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
          goto cleanup;
-    if (!(dev = virDomainDeviceDefParse(driver->caps, vm->def, xml,
-                                  VIR_DOMAIN_XML_INACTIVE)))
-        goto cleanup;
     priv = vm->privateData;

More information about the libvir-list mailing list