OSDN Git Service

virtio-serial: fix segfault on NULL port names
authorAmit Shah <amit.shah@redhat.com>
Wed, 4 Mar 2015 08:59:52 +0000 (14:29 +0530)
committerAmit Shah <amit.shah@redhat.com>
Wed, 11 Mar 2015 11:07:45 +0000 (16:37 +0530)
Commit d0a0bfe6729ef6044d76ea49fafa07e29fa598bd added checks for port
names, but didn't add a check to ensure port->name is non-NULL.  This
results in a SIGSEGV when adding a port when one of the previously-added
ports didn't have the 'name' property set.

https://bugzilla.redhat.com/show_bug.cgi?id=1192775

Reported-by: vivian zhang <vivianzhang@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
hw/char/virtio-serial-bus.c

index 9a029d2..c86814f 100644 (file)
@@ -64,7 +64,7 @@ static VirtIOSerialPort *find_port_by_name(char *name)
         VirtIOSerialPort *port;
 
         QTAILQ_FOREACH(port, &vser->ports, next) {
-            if (!strcmp(port->name, name)) {
+            if (port->name && !strcmp(port->name, name)) {
                 return port;
             }
         }