Blame 0001-evdev-fail-before-open_restricted-if-the-devnode-doe.patch

Peter Hutterer 1ee7b0d
From cb186abc17ad9e525609dc32385b0a7992e949a9 Mon Sep 17 00:00:00 2001
Peter Hutterer 1ee7b0d
From: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 1ee7b0d
Date: Fri, 9 Feb 2018 19:24:15 +1000
Peter Hutterer 1ee7b0d
Subject: [PATCH libinput] evdev: fail before open_restricted if the devnode
Peter Hutterer 1ee7b0d
 doesn't exist
Peter Hutterer 1ee7b0d
Peter Hutterer 1ee7b0d
https://bugzilla.redhat.com/show_bug.cgi?id=1536633
Peter Hutterer 1ee7b0d
https://bugzilla.redhat.com/show_bug.cgi?id=1539046
Peter Hutterer 1ee7b0d
https://bugzilla.redhat.com/show_bug.cgi?id=1539783
Peter Hutterer 1ee7b0d
https://bugzilla.redhat.com/show_bug.cgi?id=1540662
Peter Hutterer 1ee7b0d
https://bugs.freedesktop.org/show_bug.cgi?id=104278
Peter Hutterer 1ee7b0d
Peter Hutterer 1ee7b0d
Debugged-by: Jeff Smith <whydoubt@gmail.com>
Peter Hutterer 1ee7b0d
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 1ee7b0d
---
Peter Hutterer 1ee7b0d
 src/evdev.c | 8 ++++++++
Peter Hutterer 1ee7b0d
 1 file changed, 8 insertions(+)
Peter Hutterer 1ee7b0d
Peter Hutterer 1ee7b0d
diff --git a/src/evdev.c b/src/evdev.c
Peter Hutterer 1ee7b0d
index d1ca243d..63b93ec3 100644
Peter Hutterer 1ee7b0d
--- a/src/evdev.c
Peter Hutterer 1ee7b0d
+++ b/src/evdev.c
Peter Hutterer 1ee7b0d
@@ -1917,6 +1917,11 @@ evdev_device_create(struct libinput_seat *seat,
Peter Hutterer 1ee7b0d
 	const char *devnode = udev_device_get_devnode(udev_device);
Peter Hutterer 1ee7b0d
 	const char *sysname = udev_device_get_sysname(udev_device);
Peter Hutterer 1ee7b0d
 
Peter Hutterer 1ee7b0d
+	if (!devnode) {
Peter Hutterer 1ee7b0d
+		log_info(libinput, "%s: no device node associated\n", sysname);
Peter Hutterer 1ee7b0d
+		return NULL;
Peter Hutterer 1ee7b0d
+	}
Peter Hutterer 1ee7b0d
+
Peter Hutterer 1ee7b0d
 	if (udev_device_should_be_ignored(udev_device)) {
Peter Hutterer 1ee7b0d
 		log_debug(libinput, "%s: device is ignored\n", sysname);
Peter Hutterer 1ee7b0d
 		return NULL;
Peter Hutterer 1ee7b0d
@@ -2434,6 +2439,9 @@ evdev_device_resume(struct evdev_device *device)
Peter Hutterer 1ee7b0d
 		return -ENODEV;
Peter Hutterer 1ee7b0d
 
Peter Hutterer 1ee7b0d
 	devnode = udev_device_get_devnode(device->udev_device);
Peter Hutterer 1ee7b0d
+	if (!devnode)
Peter Hutterer 1ee7b0d
+		return -ENODEV;
Peter Hutterer 1ee7b0d
+
Peter Hutterer 1ee7b0d
 	fd = open_restricted(libinput, devnode,
Peter Hutterer 1ee7b0d
 			     O_RDWR | O_NONBLOCK | O_CLOEXEC);
Peter Hutterer 1ee7b0d
 
Peter Hutterer 1ee7b0d
-- 
Peter Hutterer 1ee7b0d
2.14.3
Peter Hutterer 1ee7b0d