[libvirt] [PATCH] qemu: Don't crash in qemuDomainOpenChannel()

Pavel Hrdina phrdina at redhat.com
Mon Mar 2 17:37:47 UTC 2015


On Mon, Mar 02, 2015 at 05:22:10PM +0100, Martin Kletzander wrote:
> The problem here was that when opening a channel, we were checking
> whether the channel given is alias (can't be NULL for running domain) or
> it's name, which can be NULL (for example with spicevmc).  In case of
> such domain qemuDomainOpenChannel() made the daemon crash.
> STREQ_NULLABLE() is safe to use since the code in question is wrapped in
> "if (name)" and is more readable, so use that instead of checking for
> non-NULL "vm->def->channels[i]->target.name".
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  src/qemu/qemu_driver.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 83a4e18..c87cc05 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -15450,7 +15450,7 @@ qemuDomainOpenChannel(virDomainPtr dom,
> 
>              if (vm->def->channels[i]->targetType == \
>                  VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
> -                STREQ(name, vm->def->channels[i]->target.name))
> +                STREQ_NULLABLE(name, vm->def->channels[i]->target.name))
>                  chr = vm->def->channels[i];
>          }
>      } else {
> -- 
> 2.3.1

ACK

Pavel

> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list