1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-22 17:34:18 +03:00

tools: virsh: use automatic cleanup for virDomainObj

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Ján Tomko 2021-08-11 11:33:50 +02:00
parent 7c0443fb73
commit cf337df3d6
5 changed files with 116 additions and 238 deletions

View File

@ -32,7 +32,7 @@ virshCheckpointNameCompleter(vshControl *ctl,
unsigned int flags)
{
virshControl *priv = ctl->privData;
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
virDomainCheckpointPtr *checkpoints = NULL;
int ncheckpoints = 0;
size_t i = 0;
@ -60,7 +60,6 @@ virshCheckpointNameCompleter(vshControl *ctl,
virshDomainCheckpointFree(checkpoints[i]);
}
g_free(checkpoints);
virshDomainFree(dom);
return ret;
@ -71,6 +70,5 @@ virshCheckpointNameCompleter(vshControl *ctl,
for (i = 0; i < ncheckpoints; i++)
g_free(ret[i]);
g_free(ret);
virshDomainFree(dom);
return NULL;
}

View File

@ -442,7 +442,7 @@ virshDomainIOThreadIdCompleter(vshControl *ctl,
const vshCmd *cmd,
unsigned int flags)
{
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
size_t niothreads = 0;
g_autofree virDomainIOThreadInfoPtr *info = NULL;
size_t i;
@ -468,7 +468,6 @@ virshDomainIOThreadIdCompleter(vshControl *ctl,
ret = g_steal_pointer(&tmp);
cleanup:
virshDomainFree(dom);
return ret;
}
@ -478,7 +477,7 @@ virshDomainVcpuCompleter(vshControl *ctl,
const vshCmd *cmd,
unsigned int flags)
{
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
xmlDocPtr xml = NULL;
xmlXPathContextPtr ctxt = NULL;
int nvcpus = 0;
@ -509,7 +508,6 @@ virshDomainVcpuCompleter(vshControl *ctl,
cleanup:
xmlXPathFreeContext(ctxt);
xmlFreeDoc(xml);
virshDomainFree(dom);
return ret;
}
@ -519,7 +517,7 @@ virshDomainVcpulistCompleter(vshControl *ctl,
const vshCmd *cmd,
unsigned int flags)
{
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
xmlDocPtr xml = NULL;
xmlXPathContextPtr ctxt = NULL;
int nvcpus = 0;
@ -554,7 +552,6 @@ virshDomainVcpulistCompleter(vshControl *ctl,
cleanup:
xmlXPathFreeContext(ctxt);
xmlFreeDoc(xml);
virshDomainFree(dom);
return ret;
}
@ -594,7 +591,7 @@ virshDomainVcpulistViaAgentCompleter(vshControl *ctl,
const vshCmd *cmd,
unsigned int flags)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
bool enable = vshCommandOptBool(cmd, "enable");
bool disable = vshCommandOptBool(cmd, "disable");
virTypedParameterPtr params = NULL;
@ -690,7 +687,6 @@ virshDomainVcpulistViaAgentCompleter(vshControl *ctl,
cleanup:
virTypedParamsFree(params, nparams);
virshDomainFree(dom);
return ret;
}
@ -908,7 +904,7 @@ virshDomainFSMountpointsCompleter(vshControl *ctl,
unsigned int flags)
{
g_auto(GStrv) tmp = NULL;
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
int rc = -1;
size_t i;
virDomainFSInfoPtr *info = NULL;
@ -938,7 +934,6 @@ virshDomainFSMountpointsCompleter(vshControl *ctl,
virDomainFSInfoFree(info[i]);
VIR_FREE(info);
}
virshDomainFree(dom);
return ret;
}

View File

@ -32,7 +32,7 @@ virshSnapshotNameCompleter(vshControl *ctl,
unsigned int flags)
{
virshControl *priv = ctl->privData;
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
virDomainSnapshotPtr *snapshots = NULL;
int rc;
int nsnapshots = 0;
@ -63,7 +63,6 @@ virshSnapshotNameCompleter(vshControl *ctl,
ret = g_steal_pointer(&tmp);
cleanup:
virshDomainFree(dom);
for (i = 0; i < nsnapshots; i++)
virshDomainSnapshotFree(snapshots[i]);
g_free(snapshots);

View File

@ -296,7 +296,7 @@ static const vshCmdOptDef opts_dommemstat[] = {
static bool
cmdDomMemStat(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
const char *name;
virDomainMemoryStatStruct stats[VIR_DOMAIN_MEMORY_STAT_NR];
unsigned int nr_stats;
@ -381,7 +381,6 @@ cmdDomMemStat(vshControl *ctl, const vshCmd *cmd)
ret = true;
cleanup:
virshDomainFree(dom);
return ret;
}
@ -893,7 +892,7 @@ static const vshCmdOptDef opts_domcontrol[] = {
static bool
cmdDomControl(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
bool ret = true;
virDomainControlInfo info;
@ -920,7 +919,6 @@ cmdDomControl(vshControl *ctl, const vshCmd *cmd)
}
cleanup:
virshDomainFree(dom);
return ret;
}
@ -994,7 +992,7 @@ static const struct _domblkstat_sequence domblkstat_output[] = {
static bool
cmdDomblkstat(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
const char *name = NULL, *device = NULL;
virDomainBlockStatsStruct stats;
virTypedParameterPtr params = NULL;
@ -1106,7 +1104,6 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd)
cleanup:
VIR_FREE(params);
virshDomainFree(dom);
return ret;
}
#undef DOMBLKSTAT_LEGACY_PRINT
@ -1138,7 +1135,7 @@ static const vshCmdOptDef opts_domifstat[] = {
static bool
cmdDomIfstat(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
const char *name = NULL, *device = NULL;
virDomainInterfaceStatsStruct stats;
bool ret = false;
@ -1181,7 +1178,6 @@ cmdDomIfstat(vshControl *ctl, const vshCmd *cmd)
ret = true;
cleanup:
virshDomainFree(dom);
return ret;
}
@ -1206,7 +1202,7 @@ static const vshCmdOptDef opts_domblkerror[] = {
static bool
cmdDomBlkError(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
virDomainDiskErrorPtr disks = NULL;
unsigned int ndisks = 0;
size_t i;
@ -1243,7 +1239,6 @@ cmdDomBlkError(vshControl *ctl, const vshCmd *cmd)
for (i = 0; i < ndisks; i++)
VIR_FREE(disks[i].disk);
VIR_FREE(disks);
virshDomainFree(dom);
return ret;
}
@ -1269,7 +1264,7 @@ static bool
cmdDominfo(vshControl *ctl, const vshCmd *cmd)
{
virDomainInfo info;
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
virSecurityModel secmodel;
virSecurityLabelPtr seclabel;
int persistent = 0;
@ -1352,7 +1347,6 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
memset(&secmodel, 0, sizeof(secmodel));
if (virNodeGetSecurityModel(priv->conn, &secmodel) == -1) {
if (last_error->code != VIR_ERR_NO_SUPPORT) {
virshDomainFree(dom);
return false;
} else {
vshResetLibvirtError();
@ -1367,7 +1361,6 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
seclabel = g_new0(virSecurityLabel, 1);
if (virDomainGetSecurityLabel(dom, seclabel) == -1) {
virshDomainFree(dom);
VIR_FREE(seclabel);
return false;
} else {
@ -1388,7 +1381,6 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
}
}
virshDomainFree(dom);
return ret;
}
@ -1417,7 +1409,7 @@ static const vshCmdOptDef opts_domstate[] = {
static bool
cmdDomstate(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
bool ret = true;
bool showReason = vshCommandOptBool(cmd, "reason");
int state, reason;
@ -1440,7 +1432,6 @@ cmdDomstate(vshControl *ctl, const vshCmd *cmd)
}
cleanup:
virshDomainFree(dom);
return ret;
}
@ -1481,7 +1472,7 @@ static const vshCmdOptDef opts_domtime[] = {
static bool
cmdDomTime(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom;
g_autoptr(virshDomain) dom = NULL;
bool ret = false;
bool now = vshCommandOptBool(cmd, "now");
bool pretty = vshCommandOptBool(cmd, "pretty");
@ -1540,7 +1531,6 @@ cmdDomTime(vshControl *ctl, const vshCmd *cmd)
ret = true;
cleanup:
virshDomainFree(dom);
return ret;
}
@ -2373,7 +2363,7 @@ VIR_ENUM_IMPL(virshDomainInterfaceAddressesSource,
static bool
cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd)
{
virDomainPtr dom = NULL;
g_autoptr(virshDomain) dom = NULL;
const char *ifacestr = NULL;
virDomainInterfacePtr *ifaces = NULL;
size_t i, j;
@ -2466,7 +2456,6 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd)
}
VIR_FREE(ifaces);
virshDomainFree(dom);
return ret;
}

File diff suppressed because it is too large Load Diff