[PATCH libevdev 1/3] Disallow disabling EV_SYN event codes

Peter Hutterer peter.hutterer at who-t.net
Wed Oct 23 22:14:28 PDT 2013


The documentation already says that, make it happen.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 libevdev/libevdev.c            | 2 +-
 test/test-libevdev-has-event.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
index d84e67e..8315d9b 100644
--- a/libevdev/libevdev.c
+++ b/libevdev/libevdev.c
@@ -1213,7 +1213,7 @@ libevdev_disable_event_code(struct libevdev *dev, unsigned int type, unsigned in
 	unsigned int max;
 	unsigned long *mask = NULL;
 
-	if (type > EV_MAX)
+	if (type > EV_MAX || type == EV_SYN)
 		return -1;
 
 	max = type_to_mask(dev, type, &mask);
diff --git a/test/test-libevdev-has-event.c b/test/test-libevdev-has-event.c
index 242f991..5af3530 100644
--- a/test/test-libevdev-has-event.c
+++ b/test/test-libevdev-has-event.c
@@ -847,6 +847,7 @@ START_TEST(test_device_disable_bit_invalid)
 	ck_assert_int_eq(libevdev_disable_event_code(dev, EV_MAX + 1, ABS_MAX + 1), -1);
 	ck_assert_int_eq(libevdev_disable_event_type(dev, EV_MAX + 1), -1);
 	ck_assert_int_eq(libevdev_disable_event_type(dev, EV_SYN), -1);
+	ck_assert_int_eq(libevdev_disable_event_code(dev, EV_SYN, SYN_REPORT), -1);
 
 	uinput_device_free(uidev);
 	libevdev_free(dev);
-- 
1.8.3.1



More information about the Input-tools mailing list