From: Ján Tomko Date: Tue, 10 Aug 2021 17:26:45 +0000 (+0200) Subject: virsh: checkpoint: move variables inside the loop X-Git-Tag: v7.7.0-rc1~222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f1c6736fae48fd368c9ff8b72abf0451f65a99b;p=thirdparty%2Flibvirt.git virsh: checkpoint: move variables inside the loop Use g_auto to free them instead of open-coding it. Signed-off-by: Ján Tomko Reviewed-by: Peter Krempa --- diff --git a/tools/virsh-checkpoint.c b/tools/virsh-checkpoint.c index e88f9ffb47..2b89f376c9 100644 --- a/tools/virsh-checkpoint.c +++ b/tools/virsh-checkpoint.c @@ -716,9 +716,6 @@ cmdCheckpointList(vshControl *ctl, bool ret = false; unsigned int flags = 0; size_t i; - xmlDocPtr xml = NULL; - xmlXPathContextPtr ctxt = NULL; - char *doc = NULL; virDomainCheckpointPtr checkpoint = NULL; long long creation_longlong; g_autoptr(GDateTime) then = NULL; @@ -728,7 +725,6 @@ cmdCheckpointList(vshControl *ctl, bool parent = vshCommandOptBool(cmd, "parent"); bool roots = vshCommandOptBool(cmd, "roots"); const char *from_chk = NULL; - char *parent_chk = NULL; virDomainCheckpointPtr start = NULL; struct virshCheckpointList *checkpointlist = NULL; vshTable *table = NULL; @@ -805,14 +801,12 @@ cmdCheckpointList(vshControl *ctl, for (i = 0; i < checkpointlist->nchks; i++) { g_autofree gchar *thenstr = NULL; + g_autoptr(xmlDoc) xml = NULL; + g_autoptr(xmlXPathContext) ctxt = NULL; + g_autofree char *parent_chk = NULL; + g_autofree char *doc = NULL; const char *chk_name; - /* free up memory from previous iterations of the loop */ - VIR_FREE(parent_chk); - xmlXPathFreeContext(ctxt); - xmlFreeDoc(xml); - VIR_FREE(doc); - checkpoint = checkpointlist->chks[i].chk; chk_name = virDomainCheckpointGetName(checkpoint); assert(chk_name); @@ -856,13 +850,8 @@ cmdCheckpointList(vshControl *ctl, ret = true; cleanup: - /* this frees up memory from the last iteration of the loop */ virshCheckpointListFree(checkpointlist); - VIR_FREE(parent_chk); virshDomainCheckpointFree(start); - xmlXPathFreeContext(ctxt); - xmlFreeDoc(xml); - VIR_FREE(doc); virshDomainFree(dom); vshTableFree(table);