[libvirt] [PATCHv2] qemu: Prevent crash of libvirtd without guest agent

From: Alex Jia <ajia@redhat.com> * 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 | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 939a83d..41218de 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -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; } -- 1.7.1

On Thu, Feb 16, 2012 at 10:54:40 +0800, ajia@redhat.com wrote:
From: Alex Jia <ajia@redhat.com>
* 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 | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
ACK Jirka

Thanks and pushed. ----- Original Message ----- From: "Jiri Denemark" <jdenemar@redhat.com> To: ajia@redhat.com Cc: libvir-list@redhat.com Sent: Thursday, February 16, 2012 9:40:13 PM Subject: Re: [libvirt] [PATCHv2] qemu: Prevent crash of libvirtd without guest agent On Thu, Feb 16, 2012 at 10:54:40 +0800, ajia@redhat.com wrote:
From: Alex Jia <ajia@redhat.com>
* 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 | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
ACK Jirka
participants (3)
-
ajia@redhat.com
-
Alex Jia
-
Jiri Denemark