]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemumigrationcookiexmltest: Don't crash when parsing of status XML fails
authorPeter Krempa <pkrempa@redhat.com>
Thu, 9 Nov 2023 13:31:43 +0000 (14:31 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 10 Nov 2023 09:04:04 +0000 (10:04 +0100)
Some sub-tests dereference 'data->vm' even when it is NULL.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/qemumigrationcookiexmltest.c

index 74302dc55f379fcab8af4a90f2c34c4a0ddd79c5..5270e3a7e7372de37ba286498f77f1bde5a67d29 100644 (file)
@@ -137,9 +137,17 @@ static int
 testQemuMigrationCookieParse(const void *opaque)
 {
     struct testQemuMigrationCookieData *data = (struct testQemuMigrationCookieData *) opaque;
-    qemuDomainObjPrivate *priv = data->vm->privateData;
+    qemuDomainObjPrivate *priv;
     g_auto(virBuffer) actual = VIR_BUFFER_INITIALIZER;
 
+    /* if the VM object parsing step failed there's nothing this test can do */
+    if (!data->vm) {
+        VIR_TEST_DEBUG("\nmissing VM object\n");
+        return -1;
+    }
+
+    priv = data->vm->privateData;
+
     if (!(data->cookie = qemuMigrationCookieParse(&driver,
                                                   data->vm,
                                                   data->vm->def,
@@ -314,6 +322,12 @@ testQemuMigrationCookieBlockDirtyBitmaps(const void *opaque)
         return -1;
     }
 
+    /* if the VM object parsing step failed there's nothing this test can do */
+    if (!data->vm) {
+        VIR_TEST_DEBUG("\nmissing VM object\n");
+        return -1;
+    }
+
     if (qemuMigrationCookieBlockDirtyBitmapsMatchDisks(data->vm->def,
                                                        data->cookie->blockDirtyBitmaps) < 0)
         return -1;