Date: Sat, 5 Jan 2019 19:38:53 +0000 (UTC) From: Niclas Zeising <zeising@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r489372 - in head/x11/libinput: . files Message-ID: <201901051938.x05JcrCL066099@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: zeising Date: Sat Jan 5 19:38:52 2019 New Revision: 489372 URL: https://svnweb.freebsd.org/changeset/ports/489372 Log: x11/libinput: Fix crash when listing devices Fix a crash in x11/libinput when listing devices with libinput list-devices. This is done by removing an old patch previously used to work arond permission issues with /dev/input/* PR: 234638 Reported by: Jan Beich Fix from: Greg V Reviewed by: Greg V MFH: 2019Q1 Modified: head/x11/libinput/Makefile head/x11/libinput/files/patch-src_evdev.c Modified: head/x11/libinput/Makefile ============================================================================== --- head/x11/libinput/Makefile Sat Jan 5 19:35:21 2019 (r489371) +++ head/x11/libinput/Makefile Sat Jan 5 19:38:52 2019 (r489372) @@ -2,6 +2,7 @@ PORTNAME= libinput PORTVERSION= 1.11.3 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/ Modified: head/x11/libinput/files/patch-src_evdev.c ============================================================================== --- head/x11/libinput/files/patch-src_evdev.c Sat Jan 5 19:35:21 2019 (r489371) +++ head/x11/libinput/files/patch-src_evdev.c Sat Jan 5 19:38:52 2019 (r489372) @@ -35,53 +35,3 @@ so we just use them instead of the original (enumerate device->source = NULL; } } -@@ -1785,9 +1796,9 @@ evdev_notify_added_device(struct evdev_device *device) - } - - static bool --evdev_device_have_same_syspath(struct udev_device *udev_device, int fd) -+evdev_device_have_same_syspath(struct udev_device **udev_device, int fd, bool reopen) - { -- struct udev *udev = udev_device_get_udev(udev_device); -+ struct udev *udev = udev_device_get_udev(*udev_device); - struct udev_device *udev_device_new = NULL; - struct stat st; - bool rc = false; -@@ -1800,10 +1811,16 @@ evdev_device_have_same_syspath(struct udev_device *ude - goto out; - - rc = streq(udev_device_get_syspath(udev_device_new), -- udev_device_get_syspath(udev_device)); -+ udev_device_get_syspath(*udev_device)); - out: -- if (udev_device_new) -- udev_device_unref(udev_device_new); -+ if (udev_device_new) { -+ if (reopen) { -+ udev_device_unref(*udev_device); -+ *udev_device = udev_device_new; -+ } else { -+ udev_device_unref(udev_device_new); -+ } -+ } - return rc; - } - -@@ -2003,7 +2020,7 @@ evdev_device_create(struct libinput_seat *seat, - return NULL; - } - -- if (!evdev_device_have_same_syspath(udev_device, fd)) -+ if (!evdev_device_have_same_syspath(&udev_device, fd, true)) - goto err; - - device = zalloc(sizeof *device); -@@ -2559,7 +2576,7 @@ evdev_device_resume(struct evdev_device *device) - if (fd < 0) - return -errno; - -- if (!evdev_device_have_same_syspath(device->udev_device, fd)) { -+ if (!evdev_device_have_same_syspath(&device->udev_device, fd, false)) { - close_restricted(libinput, fd); - return -ENODEV; - }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901051938.x05JcrCL066099>