diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2020-07-15 13:32:40 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2020-07-15 13:36:18 +1000 |
commit | 66113fe84f62bab3a672a336eb10b255d2aa5ce7 (patch) | |
tree | 263b171b194d00fb4c43025ac952e72ba930cdfe | |
parent | 4c1b9f3c705233f78129cff955f2c2d446414d1d (diff) | |
download | libevdev-66113fe84f62bab3a672a336eb10b255d2aa5ce7.tar.gz |
libevdev: any value less than 0 has a NULL name
Fixes https://gitlab.freedesktop.org/libevdev/libevdev/-/issues/15
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | libevdev/libevdev.c | 2 | ||||
-rw-r--r-- | test/test-event-names.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index aefb387..c4729b5 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -1742,7 +1742,7 @@ libevdev_event_value_get_name(unsigned int type, if (type != EV_ABS || code != ABS_MT_TOOL_TYPE) return NULL; - if (value > MT_TOOL_MAX) + if (value < 0 || value > MT_TOOL_MAX) return NULL; return mt_tool_map[value]; diff --git a/test/test-event-names.c b/test/test-event-names.c index c581b1d..480176c 100644 --- a/test/test-event-names.c +++ b/test/test-event-names.c @@ -227,6 +227,7 @@ START_TEST(test_value_name) ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_PALM), "MT_TOOL_PALM"); ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_PEN), "MT_TOOL_PEN"); ck_assert_str_eq(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, MT_TOOL_MAX), "MT_TOOL_MAX"); + ck_assert(libevdev_event_value_get_name(EV_ABS, ABS_MT_TOOL_TYPE, -1) == NULL); } END_TEST |