Move 'ctxt' and 'doc' inside the loop and mark them with g_auto.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/conf/cpu_conf.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 58d04df1b8..44e62712c5 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -1126,8 +1126,6 @@ virCPUDefListParse(const char **xmlCPUs,
unsigned int ncpus,
virCPUType cpuType)
{
- xmlDocPtr doc = NULL;
- xmlXPathContextPtr ctxt = NULL;
virCPUDef **cpus = NULL;
size_t i;
@@ -1152,24 +1150,20 @@ virCPUDefListParse(const char **xmlCPUs,
cpus = g_new0(virCPUDef *, ncpus + 1);
for (i = 0; i < ncpus; i++) {
+ g_autoptr(xmlDoc) doc = NULL;
+ g_autoptr(xmlXPathContext) ctxt = NULL;
+
if (!(doc = virXMLParseStringCtxt(xmlCPUs[i], _("(CPU_definition)"),
&ctxt)))
goto error;
if (virCPUDefParseXML(ctxt, NULL, cpuType, &cpus[i], false) < 0)
goto error;
-
- xmlXPathFreeContext(ctxt);
- xmlFreeDoc(doc);
- ctxt = NULL;
- doc = NULL;
}
return cpus;
error:
virCPUDefListFree(cpus);
- xmlXPathFreeContext(ctxt);
- xmlFreeDoc(doc);
return NULL;
}
--
2.31.1