[libvirt] [PATCH] qemu: Fix NULL ptr dereference caused by qemuDomainDefFormatBufInternal

Erik Skultety eskultet at redhat.com
Mon Nov 18 12:57:14 UTC 2019


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 at redhat.com>
---
 src/qemu/qemu_domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index e14b414518..ed2a5cc7b6 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -9105,7 +9105,7 @@ qemuDomainDefFormatBufInternal(virQEMUDriverPtr driver,
                 goto cleanup;
         }
 
-        if (qemuDomainMakeCPUMigratable(def->cpu) < 0)
+        if (def->cpu && qemuDomainMakeCPUMigratable(def->cpu) < 0)
             goto cleanup;
     }
 
-- 
2.23.0




More information about the libvir-list mailing list