]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Don't crash in qemuDomainOpenChannel()
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 2 Mar 2015 14:42:41 +0000 (15:42 +0100)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 3 Mar 2015 08:26:59 +0000 (09:26 +0100)
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@redhat.com>
src/qemu/qemu_driver.c

index e59f501c6d921342dbab2026a2b86834d826b068..da22f2bab7b6f1920cd44fd13e58af3a3f7f2f6c 100644 (file)
@@ -15460,7 +15460,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 {