]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix segfault in qemuDomainPrimeVirtioDeviceAddresses
authorWang Yechao <wang.yechao255@zte.com.cn>
Fri, 9 Nov 2018 06:41:23 +0000 (14:41 +0800)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 9 Nov 2018 08:56:35 +0000 (09:56 +0100)
On aarch64, lauch vm with the follow configuration:

<interface type="hostdev" managed="yes">
  <mac address="fa:16:3e:14:41:00"/>
  <source>
    <address type="pci" domain="0x0000" bus="0x01" slot="0x0b" function="0x2"/>
  </source>
</interface>

libvirtd will crash when accessing net->model.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_domain_address.c

index 24dd7c1a581e6fcdf013af9d8d595b3a48c6c687..27c9bfb946208118ee04787a20a447eab6735ada 100644 (file)
@@ -324,7 +324,8 @@ qemuDomainPrimeVirtioDeviceAddresses(virDomainDefPtr def,
     for (i = 0; i < def->nnets; i++) {
         virDomainNetDefPtr net = def->nets[i];
 
-        if (STREQ(net->model, "virtio") &&
+        if (net->model &&
+            STREQ(net->model, "virtio") &&
             net->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
             net->info.type = type;
         }