[libvirt] [PATCH 1/6] Invert logic in cmdVcpuinfo

Ján Tomko jtomko at redhat.com
Thu Jun 5 11:25:13 UTC 2014


Initialize 'ret' to false and introduce a cleanup label.
---
 tools/virsh-domain.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 84a6706..4d21704 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -5536,25 +5536,21 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
 {
     virDomainInfo info;
     virDomainPtr dom;
-    virVcpuInfoPtr cpuinfo;
-    unsigned char *cpumaps;
+    virVcpuInfoPtr cpuinfo = NULL;
+    unsigned char *cpumaps = NULL;
     int ncpus, maxcpu;
     size_t cpumaplen;
-    bool ret = true;
+    bool ret = false;
     int n, m;
 
     if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
         return false;
 
-    if ((maxcpu = vshNodeGetCPUCount(ctl->conn)) < 0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if ((maxcpu = vshNodeGetCPUCount(ctl->conn)) < 0)
+        goto cleanup;
 
-    if (virDomainGetInfo(dom, &info) != 0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if (virDomainGetInfo(dom, &info) != 0)
+        goto cleanup;
 
     cpuinfo = vshMalloc(ctl, sizeof(virVcpuInfo)*info.nrVirtCpu);
     cpumaplen = VIR_CPU_MAPLEN(maxcpu);
@@ -5608,10 +5604,13 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
                 }
             }
         } else {
-            ret = false;
+            goto cleanup;
         }
     }
 
+    ret = true;
+
+ cleanup:
     VIR_FREE(cpumaps);
     VIR_FREE(cpuinfo);
     virDomainFree(dom);
-- 
1.8.3.2




More information about the libvir-list mailing list