X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fhid%2Fhid-picolcd_core.c;h=020df3c2e8b42717c62bbe0470aa47845535e4a5;hb=f1326e0892329b0d58dec467f71f5d94c4d5d5a9;hp=acbb021065ece8287c9d3ea433c860afc0711855;hpb=8352d7dd08ad3a89db6c65286d2b3567ba417879;p=firefly-linux-kernel-4.4.55.git 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, if (!data) return 1; + if (size > 64) { + hid_warn(hdev, "invalid size value (%d) for picolcd raw event\n", + size); + return 0; + } + if (report->id == REPORT_KEY_STATE) { if (data->input_keys) ret = picolcd_raw_keypad(data, report, raw_data+1, size-1);