]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix NULL ptr dereference caused by qemuDomainDefFormatBufInternal
authorErik Skultety <eskultet@redhat.com>
Mon, 18 Nov 2019 12:46:14 +0000 (13:46 +0100)
committerErik Skultety <eskultet@redhat.com>
Mon, 18 Nov 2019 13:32:49 +0000 (14:32 +0100)
qemuDomainDefFormatBufInternal function wasn't testing whether the CPU
was actually defined in the XML and saving such a domain resulted in the
following backtrace:

0 in qemuDomainMakeCPUMigratable (cpu=0x0)
1 in qemuDomainDefFormatBufInternal()
2 in qemuDomainDefFormatXMLInternal()
3 in qemuDomainDefFormatLive()
4 in qemuDomainSaveInternal()
5 in qemuDomainSaveFlags()
6 in qemuDomainSave()
7 in virDomainSave()

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/qemu/qemu_domain.c

index e14b414518d9df69f8cf2cd508d08af794e26598..ed2a5cc7b68a3f0919e7271df799a4c36998896d 100644 (file)
@@ -9105,7 +9105,7 @@ qemuDomainDefFormatBufInternal(virQEMUDriverPtr driver,
                 goto cleanup;
         }
 
-        if (qemuDomainMakeCPUMigratable(def->cpu) < 0)
+        if (def->cpu && qemuDomainMakeCPUMigratable(def->cpu) < 0)
             goto cleanup;
     }