input: don't assume outputs have names
authorDerek Foreman <derekf@osg.samsung.com>
Tue, 17 Mar 2015 18:22:35 +0000 (13:22 -0500)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 18 Mar 2015 14:05:14 +0000 (16:05 +0200)
If an output is unnamed and devices are in seats, the strcmp will crash.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
src/libinput-seat.c

index ef2d804..c0a87ea 100644 (file)
@@ -82,7 +82,8 @@ device_added(struct udev_input *input, struct libinput_device *libinput_device)
        if (output_name) {
                device->output_name = strdup(output_name);
                wl_list_for_each(output, &c->output_list, link)
-                       if (strcmp(output->name, device->output_name) == 0)
+                       if (output->name &&
+                           strcmp(output->name, device->output_name) == 0)
                                evdev_device_set_output(device, output);
        } else if (device->output == NULL && !wl_list_empty(&c->output_list)) {
                output = container_of(c->output_list.next,