Resolve a few RESOURCE_LEAK's identified by Coverity Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> --- src/conf/domain_conf.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 48afb8c..c7dbc73 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5654,7 +5654,8 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, } VIR_FREE(ready); } - } else if (xmlStrEqual(cur->name, BAD_CAST "auth")) { + } else if (!authdef && + xmlStrEqual(cur->name, BAD_CAST "auth")) { if (!(authdef = virStorageAuthDefParse(node->doc, cur))) goto error; if ((auth_secret_usage = @@ -12069,15 +12070,17 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; } - if (vcpupin->vcpuid >= def->vcpus) + if (vcpupin->vcpuid >= def->vcpus) { /* To avoid the regression when daemon loading * domain confs, we can't simply error out if * <vcpupin> nodes greater than current vcpus, * ignoring them instead. */ VIR_WARN("Ignore vcpupin for not onlined vcpus"); - else + VIR_FREE(vcpupin); + } else { def->cputune.vcpupin[def->cputune.nvcpupin++] = vcpupin; + } } VIR_FREE(nodes); @@ -13127,6 +13130,7 @@ virDomainDefParseXML(xmlDocPtr xml, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Can't add host USB device: " "USB is disabled in this host")); + virDomainHostdevDefFree(hostdev); goto error; } @@ -13266,6 +13270,7 @@ virDomainDefParseXML(xmlDocPtr xml, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Can't add redirected USB device: " "USB is disabled for this domain")); + virDomainRedirdevDefFree(redirdev); goto error; } @@ -15127,8 +15132,10 @@ virDomainEmulatorPinAdd(virDomainDefPtr def, emulatorpin->vcpuid = -1; emulatorpin->cpumask = virBitmapNewData(cpumap, maplen); - if (!emulatorpin->cpumask) + if (!emulatorpin->cpumask) { + virDomainVcpuPinDefFree(emulatorpin); return -1; + } def->cputune.emulatorpin = emulatorpin; } else { -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list