]> xenbits.xensource.com Git - libvirt.git/commitdiff
cpu: Use g_autoptr and g_autofree in cpu.c
authorSeeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
Mon, 6 Apr 2020 13:24:06 +0000 (18:54 +0530)
committerJán Tomko <jtomko@redhat.com>
Tue, 7 Apr 2020 10:58:07 +0000 (12:58 +0200)
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/cpu/cpu.c

index 631c7553914f4a8f7d7b0b8a3a9444b2ebabf3df..d502c02f51879ca74810ba5bbaab101cc512a2ad 100644 (file)
@@ -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;
 }