diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2008-08-01 22:58:14 +0200 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2008-08-01 22:58:14 +0200 |
commit | 89b1add387b52ef55f5a8f87603153d27207e2f6 (patch) | |
tree | 78ddd7e50df007716159e384770ababcdbd06488 | |
parent | c0096b2e3992853745edf02243b1da885ace4d03 (diff) |
Fix crash on kernels with extended keymap space
The len argument of EVIOCGBIT(ev,len) is the size of the receiving
buffer in bytes, not maximim number of bits to retrieve.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Julien Cristau <jcristau@debian.org>
-rw-r--r-- | src/eventcomm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/eventcomm.c b/src/eventcomm.c index 36c4c9e..e654102 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -81,3 +81,3 @@ event_query_is_touchpad(int fd) - SYSCALL(ret = ioctl(fd, EVIOCGBIT(0, EV_MAX), evbits)); + SYSCALL(ret = ioctl(fd, EVIOCGBIT(0, sizeof(evbits)), evbits)); if (ret < 0) @@ -89,3 +89,3 @@ event_query_is_touchpad(int fd) - SYSCALL(ret = ioctl(fd, EVIOCGBIT(EV_ABS, KEY_MAX), evbits)); + SYSCALL(ret = ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(evbits)), evbits)); if (ret < 0) @@ -97,3 +97,3 @@ event_query_is_touchpad(int fd) - SYSCALL(ret = ioctl(fd, EVIOCGBIT(EV_KEY, KEY_MAX), evbits)); + SYSCALL(ret = ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(evbits)), evbits)); if (ret < 0) |