Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx> --- src/cpu/cpu_map.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/src/cpu/cpu_map.c b/src/cpu/cpu_map.c index 913e34a067..cbf90d1395 100644 --- a/src/cpu/cpu_map.c +++ b/src/cpu/cpu_map.c @@ -169,12 +169,11 @@ int cpuMapLoad(const char *arch, cpuMapLoadCallback modelCB, void *data) { - xmlDocPtr xml = NULL; - xmlXPathContextPtr ctxt = NULL; + g_autoptr(xmlDoc) xml = NULL; + g_autoptr(xmlXPathContext) ctxt = NULL; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - char *xpath = NULL; - int ret = -1; - char *mapfile; + g_autofree char *xpath = NULL; + g_autofree char *mapfile = NULL; if (!(mapfile = virFileFindResource("index.xml", abs_top_srcdir "/src/cpu_map", @@ -186,11 +185,11 @@ int cpuMapLoad(const char *arch, if (arch == NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("undefined hardware architecture")); - goto cleanup; + return -1; } if (!(xml = virXMLParseFileCtxt(mapfile, &ctxt))) - goto cleanup; + return -1; virBufferAsprintf(&buf, "./arch[@name='%s']", arch); @@ -201,28 +200,20 @@ int cpuMapLoad(const char *arch, if ((ctxt->node = virXPathNode(xpath, ctxt)) == NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, _("cannot find CPU map for %s architecture"), arch); - goto cleanup; + return -1; } if (loadData(mapfile, ctxt, "vendor", vendorCB, data) < 0) - goto cleanup; + return -1; if (loadData(mapfile, ctxt, "feature", featureCB, data) < 0) - goto cleanup; + return -1; if (loadData(mapfile, ctxt, "model", modelCB, data) < 0) - goto cleanup; + return -1; if (loadIncludes(ctxt, vendorCB, featureCB, modelCB, data) < 0) - goto cleanup; - - ret = 0; - - cleanup: - xmlXPathFreeContext(ctxt); - xmlFreeDoc(xml); - VIR_FREE(xpath); - VIR_FREE(mapfile); + return -1; - return ret; + return 0; } -- 2.26.2