]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Prevent crash of libvirtd without guest agent
authorAlex Jia <ajia@redhat.com>
Thu, 16 Feb 2012 02:32:03 +0000 (10:32 +0800)
committerAlex Jia <ajia@redhat.com>
Thu, 16 Feb 2012 15:26:41 +0000 (23:26 +0800)
* src/qemu/qemu_process.c (qemuFindAgentConfig): avoid crash libvirtd due to
deref a NULL pointer.

* How to reproduce?
1. virsh edit the following xml into guest configuration:
    <channel type='pty'>
      <target type='virtio'/>
    </channel>
2. virsh start <domain>

or
% virt-install -n foo -r 1024 --disk path=/var/lib/libvirt/images/foo.img,size=1 \
--channel pty,target_type=virtio -l <installation tree>

Signed-off-by: Alex Jia <ajia@redhat.com>
src/qemu/qemu_process.c

index 939a83d992852aa15b7ed55f23849d50f1bcb4a7..41218de4fe25d4c71159d7a41336921a5a20dd63 100644 (file)
@@ -194,7 +194,7 @@ qemuFindAgentConfig(virDomainDefPtr def)
         if (channel->targetType != VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO)
             continue;
 
-        if (STREQ(channel->target.name, "org.qemu.guest_agent.0")) {
+        if (STREQ_NULLABLE(channel->target.name, "org.qemu.guest_agent.0")) {
             config = &channel->source;
             break;
         }