[libvirt] [PATCH] tests: Fix build with -Werror

Jiri Denemark jdenemar at redhat.com
Mon Feb 6 08:41:41 UTC 2012


---
Pushed as build-breaker.

Use of uninitialized "n" after the former "error" label was the issue
(gcc didn't get it right though). I forgot to mention this in the
commit message :-(

 tests/cputest.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/tests/cputest.c b/tests/cputest.c
index 15614a7..870f99f 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -126,17 +126,17 @@ cpuTestLoadMultiXML(const char *arch,
         goto cleanup;
 
     if (!(doc = virXMLParseFileCtxt(xml, &ctxt)))
-        goto error;
+        goto cleanup;
 
     n = virXPathNodeSet("/cpuTest/cpu", ctxt, &nodes);
     if (n <= 0 || (VIR_ALLOC_N(cpus, n) < 0))
-        goto error;
+        goto cleanup;
 
     for (i = 0; i < n; i++) {
         ctxt->node = nodes[i];
         cpus[i] = virCPUDefParseXML(nodes[i], ctxt, VIR_CPU_TYPE_HOST);
         if (!cpus[i])
-            goto error;
+            goto cleanup_cpus;
     }
 
     *count = n;
@@ -148,13 +148,10 @@ cleanup:
     xmlFreeDoc(doc);
     return cpus;
 
-error:
-    if (cpus) {
-        for (i = 0; i < n; i++)
-            virCPUDefFree(cpus[i]);
-        VIR_FREE(cpus);
-        cpus = NULL;
-    }
+cleanup_cpus:
+    for (i = 0; i < n; i++)
+        virCPUDefFree(cpus[i]);
+    VIR_FREE(cpus);
     goto cleanup;
 }
 
-- 
1.7.8.4




More information about the libvir-list mailing list