[libvirt] [PATCH 1/4] Don't clobber 'ret' variable in testCompareXMLToXMLHelper

Daniel P. Berrange berrange at redhat.com
Wed Sep 25 17:23:35 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

The qemuxml2xmltest.c function testCompareXMLToXMLHelper would
clobber the 'ret' variable causing it to mis-diagnose OOM
errors.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 tests/qemuxml2xmltest.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index c661573..9fd3ada 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -84,16 +84,19 @@ testCompareXMLToXMLHelper(const void *data)
                     abs_srcdir, info->name) < 0)
         goto cleanup;
 
-    if (info->when & WHEN_INACTIVE) {
-        ret = testCompareXMLToXMLFiles(xml_in,
-                                       info->different ? xml_out : xml_in,
-                                       false);
-    }
-    if (info->when & WHEN_ACTIVE) {
-        ret = testCompareXMLToXMLFiles(xml_in,
-                                       info->different ? xml_out : xml_in,
-                                       true);
-    }
+    if ((info->when & WHEN_INACTIVE) &&
+        testCompareXMLToXMLFiles(xml_in,
+                                 info->different ? xml_out : xml_in,
+                                 false) < 0)
+        goto cleanup;
+
+    if ((info->when & WHEN_ACTIVE) &&
+        testCompareXMLToXMLFiles(xml_in,
+                                 info->different ? xml_out : xml_in,
+                                 true) < 0)
+        goto cleanup;
+
+    ret = 0;
 
 cleanup:
     VIR_FREE(xml_in);
-- 
1.8.3.1




More information about the libvir-list mailing list