mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 06:05:27 +00:00
7f0fd42741
Libvirtd would crash if a domain contained an empty cdrom drive of type='volume' as the disk def->srcpool member would be dereferenced. Fix it by checking if the source pool is present before dereferencing it. Also alter tests to catch this issue in the future. Reported by: Kevin Shanahan Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1056328
45 lines
1.5 KiB
XML
45 lines
1.5 KiB
XML
<domain type='qemu'>
|
|
<name>QEMUGuest1</name>
|
|
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
|
<memory unit='KiB'>219136</memory>
|
|
<currentMemory unit='KiB'>219136</currentMemory>
|
|
<vcpu placement='static'>1</vcpu>
|
|
<os>
|
|
<type arch='i686' machine='pc'>hvm</type>
|
|
<boot dev='hd'/>
|
|
</os>
|
|
<clock offset='utc'/>
|
|
<on_poweroff>destroy</on_poweroff>
|
|
<on_reboot>restart</on_reboot>
|
|
<on_crash>destroy</on_crash>
|
|
<devices>
|
|
<emulator>/usr/bin/qemu</emulator>
|
|
<disk type='volume' device='cdrom'>
|
|
<source pool='pool-disk' volume='block+cdrom'>
|
|
<seclabel model='selinux' relabel='yes'>
|
|
<label>system_u:system_r:public_content_t:s0</label>
|
|
</seclabel>
|
|
</source>
|
|
<target dev='hda' bus='ide'/>
|
|
<readonly/>
|
|
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
|
|
</disk>
|
|
<disk type='volume' device='cdrom'>
|
|
<driver name='qemu' type='raw'/>
|
|
<target dev='hdc' bus='ide'/>
|
|
<readonly/>
|
|
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
|
|
</disk>
|
|
<disk type='file' device='disk'>
|
|
<source file='/tmp/idedisk.img'/>
|
|
<target dev='hdc' bus='ide'/>
|
|
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
|
|
</disk>
|
|
<controller type='usb' index='0'/>
|
|
<controller type='ide' index='0'/>
|
|
<controller type='ide' index='1'/>
|
|
<controller type='pci' index='0' model='pci-root'/>
|
|
<memballoon model='virtio'/>
|
|
</devices>
|
|
</domain>
|