aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-cherry.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2014-08-21 10:57:48 -0400
committerJiri Kosina <jkosina@suse.cz>2014-08-21 11:43:28 -0400
commit4ab25786c87eb20857bbb715c3ae34ec8fd6a214 (patch)
treea1f0b37bd3f77e369398df733e76c222f0a8f86d /drivers/hid/hid-cherry.c
parentad3e14d7c5268c2e24477c6ef54bbdf88add5d36 (diff)
HID: fix a couple of off-by-ones
There are a few very theoretical off-by-one bugs in report descriptor size checking when performing a pre-parsing fixup. Fix those. Cc: stable@vger.kernel.org Reported-by: Ben Hawkes <hawkes@google.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-cherry.c')
-rw-r--r--drivers/hid/hid-cherry.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/hid-cherry.c b/drivers/hid/hid-cherry.c
index 1bdcccc54a1d..f745d2c1325e 100644
--- a/drivers/hid/hid-cherry.c
+++ b/drivers/hid/hid-cherry.c
@@ -28,7 +28,7 @@
28static __u8 *ch_report_fixup(struct hid_device *hdev, __u8 *rdesc, 28static __u8 *ch_report_fixup(struct hid_device *hdev, __u8 *rdesc,
29 unsigned int *rsize) 29 unsigned int *rsize)
30{ 30{
31 if (*rsize >= 17 && rdesc[11] == 0x3c && rdesc[12] == 0x02) { 31 if (*rsize >= 18 && rdesc[11] == 0x3c && rdesc[12] == 0x02) {
32 hid_info(hdev, "fixing up Cherry Cymotion report descriptor\n"); 32 hid_info(hdev, "fixing up Cherry Cymotion report descriptor\n");
33 rdesc[11] = rdesc[16] = 0xff; 33 rdesc[11] = rdesc[16] = 0xff;
34 rdesc[12] = rdesc[17] = 0x03; 34 rdesc[12] = rdesc[17] = 0x03;