summaryrefslogtreecommitdiff
path: root/libevdev/libevdev-uinput.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-05-02 07:53:24 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2014-05-07 18:52:17 +1000
commitd0af7f2851b1d6b8d0aed79e9647ce0502388d07 (patch)
treeef75364d37c69f8fc5f21f36884d268bb6e67deb /libevdev/libevdev-uinput.c
parentb5a39e9e05dd1f34bfe6da8435a06d669f1c6f3c (diff)
downloadlibevdev-d0af7f2851b1d6b8d0aed79e9647ce0502388d07.tar.gz
Ignore NULL as argument in libevdev_uinput_destroy()
Triggered by the tests when run as non-root. Simply ignore any attempt to destroy a NULL device, which also matches the behaviour of libevdev_free(). Reported-by: Andreas Radke <a.radke@arcor.de> Reviewed-by: Daniel Martin <consume.noise@gmail.com> Tested-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'libevdev/libevdev-uinput.c')
-rw-r--r--libevdev/libevdev-uinput.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libevdev/libevdev-uinput.c b/libevdev/libevdev-uinput.c
index 0543bc4..f176a00 100644
--- a/libevdev/libevdev-uinput.c
+++ b/libevdev/libevdev-uinput.c
@@ -334,6 +334,9 @@ error:
LIBEVDEV_EXPORT void
libevdev_uinput_destroy(struct libevdev_uinput *uinput_dev)
{
+ if (!uinput_dev)
+ return;
+
ioctl(uinput_dev->fd, UI_DEV_DESTROY, NULL);
if (uinput_dev->fd_is_managed)
close(uinput_dev->fd);