projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
HID: fix a crash in hid_report_raw_event() function.
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
hid
/
hid-core.c
diff --git
a/drivers/hid/hid-core.c
b/drivers/hid/hid-core.c
index 852989fc57575b7dc7dda234a563ac2a32e3efd4..84df80e3efc1005f4f97279b1f5d6f5af7c3faf4 100644
(file)
--- a/
drivers/hid/hid-core.c
+++ b/
drivers/hid/hid-core.c
@@
-1045,6
+1045,9
@@
void hid_report_raw_event(struct hid_device *hid, int type, u8 *data, int size,
rsize = ((report->size - 1) >> 3) + 1;
+ if (rsize > HID_MAX_BUFFER_SIZE)
+ rsize = HID_MAX_BUFFER_SIZE;
+
if (csize < rsize) {
dbg_hid("report %d is too short, (%d < %d)\n", report->id,
csize, rsize);