From: Seeteena Thoufeek Date: Mon, 6 Apr 2020 13:24:06 +0000 (+0530) Subject: cpu: Use g_autoptr and g_autofree in cpu.c X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f3d1582e3c0cff978d6af26100e3fc0221b3005e;p=libvirt.git cpu: Use g_autoptr and g_autofree in cpu.c Signed-off-by: Seeteena Thoufeek Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 631c755391..d502c02f51 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -772,40 +772,35 @@ virCPUDataPtr virCPUDataParse(const char *xmlStr) { struct cpuArchDriver *driver; - xmlDocPtr xml = NULL; - xmlXPathContextPtr ctxt = NULL; + g_autoptr(xmlDoc) xml = NULL; + g_autoptr(xmlXPathContext) ctxt = NULL; virCPUDataPtr data = NULL; - char *arch = NULL; + g_autofree char *arch = NULL; VIR_DEBUG("xmlStr=%s", xmlStr); if (!(xml = virXMLParseStringCtxt(xmlStr, _("CPU data"), &ctxt))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot parse CPU data")); - goto cleanup; + return NULL; } if (!(arch = virXPathString("string(/cpudata/@arch)", ctxt))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing CPU data architecture")); - goto cleanup; + return NULL; } if (!(driver = cpuGetSubDriverByName(arch))) - goto cleanup; + return NULL; if (!driver->dataParse) { virReportError(VIR_ERR_NO_SUPPORT, _("cannot parse %s CPU data"), arch); - goto cleanup; + return NULL; } data = driver->dataParse(ctxt); - - cleanup: - xmlXPathFreeContext(ctxt); - xmlFreeDoc(xml); - VIR_FREE(arch); return data; }