diff --git a/[refs] b/[refs] index c1e318bee4b2..cd6452dde581 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fdc6807fcd09416c5537f479e1dcd624118e234c +refs/heads/master: 966922f26c7fb5eddbe3c506b66bb5659f57b76f diff --git a/trunk/drivers/hid/hid-core.c b/trunk/drivers/hid/hid-core.c index 852989fc5757..84df80e3efc1 100644 --- a/trunk/drivers/hid/hid-core.c +++ b/trunk/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);