diff options
Diffstat (limited to 'drivers/hid/hid-picolcd_core.c')
-rw-r--r-- | drivers/hid/hid-picolcd_core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c index acbb021065ec..020df3c2e8b4 100644 --- a/drivers/hid/hid-picolcd_core.c +++ b/drivers/hid/hid-picolcd_core.c | |||
@@ -350,6 +350,12 @@ static int picolcd_raw_event(struct hid_device *hdev, | |||
350 | if (!data) | 350 | if (!data) |
351 | return 1; | 351 | return 1; |
352 | 352 | ||
353 | if (size > 64) { | ||
354 | hid_warn(hdev, "invalid size value (%d) for picolcd raw event\n", | ||
355 | size); | ||
356 | return 0; | ||
357 | } | ||
358 | |||
353 | if (report->id == REPORT_KEY_STATE) { | 359 | if (report->id == REPORT_KEY_STATE) { |
354 | if (data->input_keys) | 360 | if (data->input_keys) |
355 | ret = picolcd_raw_keypad(data, report, raw_data+1, size-1); | 361 | ret = picolcd_raw_keypad(data, report, raw_data+1, size-1); |