mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
tools: virsh: use automatic cleanup for xmlXPathContext
Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
cf337df3d6
commit
be72434d79
@ -479,7 +479,7 @@ virshDomainVcpuCompleter(vshControl *ctl,
|
||||
{
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int nvcpus = 0;
|
||||
unsigned int id;
|
||||
char **ret = NULL;
|
||||
@ -506,7 +506,6 @@ virshDomainVcpuCompleter(vshControl *ctl,
|
||||
ret = g_steal_pointer(&tmp);
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
@ -519,7 +518,7 @@ virshDomainVcpulistCompleter(vshControl *ctl,
|
||||
{
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int nvcpus = 0;
|
||||
unsigned int id;
|
||||
g_auto(GStrv) vcpulist = NULL;
|
||||
@ -550,7 +549,6 @@ virshDomainVcpulistCompleter(vshControl *ctl,
|
||||
ret = virshCommaStringListComplete(vcpuid, (const char **)vcpulist);
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
|
||||
{
|
||||
char *desc = NULL;
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int type;
|
||||
|
||||
if (title)
|
||||
@ -92,7 +92,6 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
|
||||
desc = g_strdup("");
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(doc);
|
||||
|
||||
return desc;
|
||||
@ -583,7 +582,7 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
xmlDocPtr xmldoc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int ndisks;
|
||||
xmlNodePtr *disks = NULL;
|
||||
size_t i;
|
||||
@ -682,7 +681,6 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
|
||||
VIR_FREE(device);
|
||||
VIR_FREE(type);
|
||||
VIR_FREE(disks);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xmldoc);
|
||||
return ret;
|
||||
}
|
||||
@ -711,7 +709,7 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
xmlDocPtr xmldoc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int ninterfaces;
|
||||
xmlNodePtr *interfaces = NULL;
|
||||
size_t i;
|
||||
@ -770,7 +768,6 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
|
||||
vshTableFree(table);
|
||||
VIR_FREE(interfaces);
|
||||
xmlFreeDoc(xmldoc);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -812,7 +809,7 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
virMacAddr macaddr;
|
||||
char macstr[VIR_MAC_STRING_BUFLEN] = "";
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *interfaces = NULL;
|
||||
int ninterfaces;
|
||||
unsigned int flags = 0;
|
||||
@ -865,7 +862,6 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
VIR_FREE(state);
|
||||
VIR_FREE(interfaces);
|
||||
VIR_FREE(xpath);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
|
||||
return ret;
|
||||
|
@ -3065,7 +3065,7 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int xmlflags = 0;
|
||||
size_t i;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlXPathObjectPtr obj = NULL;
|
||||
xmlNodePtr cur = NULL;
|
||||
char *xml_buf = NULL;
|
||||
@ -3179,7 +3179,6 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeObject(obj);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
VIR_FREE(xml_buf);
|
||||
|
||||
@ -3639,7 +3638,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
|
||||
virshUndefineVolume *vols = NULL; /* info about the volumes to delete */
|
||||
size_t nvols = 0;
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *vol_nodes = NULL; /* XML nodes of volumes of the guest */
|
||||
int nvol_nodes;
|
||||
char *source = NULL;
|
||||
@ -3956,7 +3955,6 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
VIR_FREE(vol_nodes);
|
||||
xmlFreeDoc(doc);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
return ret;
|
||||
|
||||
error:
|
||||
@ -6555,7 +6553,7 @@ virshCPUCountCollect(vshControl *ctl,
|
||||
virDomainInfo info;
|
||||
int count;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
|
||||
if (checkState &&
|
||||
((flags & VIR_DOMAIN_AFFECT_LIVE && virDomainIsActive(dom) < 1) ||
|
||||
@ -6614,7 +6612,6 @@ virshCPUCountCollect(vshControl *ctl,
|
||||
|
||||
ret = count;
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
|
||||
return ret;
|
||||
@ -6759,7 +6756,7 @@ virshDomainGetVcpuBitmap(vshControl *ctl,
|
||||
unsigned int flags = 0;
|
||||
virBitmap *ret = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
int nnodes;
|
||||
size_t i;
|
||||
@ -6816,7 +6813,6 @@ virshDomainGetVcpuBitmap(vshControl *ctl,
|
||||
cleanup:
|
||||
VIR_FREE(online);
|
||||
VIR_FREE(nodes);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
@ -11389,7 +11385,7 @@ static bool
|
||||
cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
|
||||
bool ret = false;
|
||||
@ -11618,7 +11614,6 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
VIR_FREE(passwd);
|
||||
VIR_FREE(listen_addr);
|
||||
VIR_FREE(output);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
@ -11645,7 +11640,7 @@ static bool
|
||||
cmdVNCDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
bool ret = false;
|
||||
int port = 0;
|
||||
@ -11693,7 +11688,6 @@ cmdVNCDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(listen_addr);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
@ -11720,7 +11714,7 @@ static bool
|
||||
cmdTTYConsole(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
bool ret = false;
|
||||
char *tty = NULL;
|
||||
|
||||
@ -11734,7 +11728,6 @@ cmdTTYConsole(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
VIR_FREE(tty);
|
||||
return ret;
|
||||
@ -12078,7 +12071,7 @@ virshDomainDetachInterface(char *doc,
|
||||
{
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathObjectPtr obj = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr cur = NULL, matchNode = NULL;
|
||||
char *detach_xml = NULL;
|
||||
char buf[64];
|
||||
@ -12153,7 +12146,6 @@ virshDomainDetachInterface(char *doc,
|
||||
VIR_FREE(detach_xml);
|
||||
xmlFreeDoc(xml);
|
||||
xmlXPathFreeObject(obj);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
return ret == 0;
|
||||
}
|
||||
|
||||
@ -12259,7 +12251,7 @@ virshFindDisk(const char *doc,
|
||||
{
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathObjectPtr obj = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr cur = NULL;
|
||||
xmlNodePtr ret = NULL;
|
||||
size_t i;
|
||||
@ -12334,7 +12326,6 @@ virshFindDisk(const char *doc,
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeObject(obj);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
return ret;
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd)
|
||||
size_t i;
|
||||
char *cap_xml = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
VSH_EXCLUSIVE_OPTIONS_VAR(all, cellno);
|
||||
@ -243,7 +243,6 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
VIR_FREE(nodes);
|
||||
VIR_FREE(nodes_free);
|
||||
@ -308,7 +307,7 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
int nodes_cnt;
|
||||
char *cap_xml = NULL;
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
bool all = vshCommandOptBool(cmd, "all");
|
||||
bool cellno = vshCommandOptBool(cmd, "cellno");
|
||||
bool pagesz = vshCommandOptBool(cmd, "pagesize");
|
||||
@ -443,7 +442,6 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(doc);
|
||||
VIR_FREE(cap_xml);
|
||||
VIR_FREE(nodes);
|
||||
@ -507,7 +505,7 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int flags = 0;
|
||||
char *cap_xml = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -571,7 +569,6 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
VIR_FREE(nodes);
|
||||
VIR_FREE(cap_xml);
|
||||
@ -607,7 +604,7 @@ cmdMaxvcpus(vshControl *ctl, const vshCmd *cmd)
|
||||
int vcpus = -1;
|
||||
char *caps = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
bool ret = false;
|
||||
|
||||
@ -631,7 +628,6 @@ cmdMaxvcpus(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml);
|
||||
VIR_FREE(caps);
|
||||
return ret;
|
||||
@ -1125,7 +1121,7 @@ vshExtractCPUDefXMLs(vshControl *ctl,
|
||||
char *buffer = NULL;
|
||||
char *xmlStr = NULL;
|
||||
xmlDocPtr xml = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
char *doc;
|
||||
size_t i;
|
||||
@ -1188,7 +1184,6 @@ vshExtractCPUDefXMLs(vshControl *ctl,
|
||||
VIR_FREE(buffer);
|
||||
VIR_FREE(xmlStr);
|
||||
xmlFreeDoc(xml);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
VIR_FREE(nodes);
|
||||
return cpus;
|
||||
|
||||
|
@ -822,7 +822,7 @@ cmdInterfaceBridge(vshControl *ctl, const vshCmd *cmd)
|
||||
xmlChar *br_xml = NULL;
|
||||
int br_xml_size;
|
||||
xmlDocPtr xml_doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr top_node, br_node, if_node, cur;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -1001,7 +1001,6 @@ cmdInterfaceBridge(vshControl *ctl, const vshCmd *cmd)
|
||||
VIR_FREE(if_type);
|
||||
VIR_FREE(if2_name);
|
||||
VIR_FREE(delay_str);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml_doc);
|
||||
return ret;
|
||||
}
|
||||
@ -1044,7 +1043,7 @@ cmdInterfaceUnbridge(vshControl *ctl, const vshCmd *cmd)
|
||||
xmlChar *if_xml = NULL;
|
||||
int if_xml_size;
|
||||
xmlDocPtr xml_doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr top_node, if_node, cur;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -1201,7 +1200,6 @@ cmdInterfaceUnbridge(vshControl *ctl, const vshCmd *cmd)
|
||||
VIR_FREE(br_xml);
|
||||
VIR_FREE(if_type);
|
||||
VIR_FREE(if_name);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(xml_doc);
|
||||
return ret;
|
||||
}
|
||||
|
@ -526,7 +526,7 @@ static xmlChar *
|
||||
virshMakeCloneXML(const char *origxml, const char *newname)
|
||||
{
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlXPathObjectPtr obj = NULL;
|
||||
xmlChar *newxml = NULL;
|
||||
int size;
|
||||
@ -545,7 +545,6 @@ virshMakeCloneXML(const char *origxml, const char *newname)
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeObject(obj);
|
||||
xmlXPathFreeContext(ctxt);
|
||||
xmlFreeDoc(doc);
|
||||
return newxml;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user