]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: qapi: fix potential SIGSEGV in virQEMUQAPISchemaTraverseObject()
authorNikolai Barybin <nikolai.barybin@virtuozzo.com>
Thu, 3 Jul 2025 10:19:07 +0000 (13:19 +0300)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 16 Jul 2025 13:38:29 +0000 (15:38 +0200)
We need to check obj ptr before passing it to
virJSONValueObjectHasKey(). If it's NULL it will fail with SIGSEGV.

Signed-off-by: Nikolai Barybin <nikolai.barybin@virtuozzo.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_qapi.c

index 184c0a965ff79b39dae545140e52bbdf237397cd..a2fef550192673951eef871d03464e6e394fd9f0 100644 (file)
@@ -180,7 +180,7 @@ virQEMUQAPISchemaTraverseObject(virJSONValue *cur,
     } else {
         obj = virQEMUQAPISchemaObjectGet("members", query, "name", cur);
 
-        if (modifier == '*' &&
+        if (modifier == '*' && obj &&
             !virJSONValueObjectHasKey(obj, "default"))
             return 0;
     }