From 03c3e4f9759b98a6a3b1f64534c1a078a6858d0e Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 24 Oct 2013 14:18:30 +1000 Subject: [PATCH] Disallow disabling EV_SYN event codes The documentation already says that, make it happen. Signed-off-by: Peter Hutterer Reviewed-by: David Herrmann --- 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); -- 2.34.1