Input: gtco - fix potential out-of-bound access
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 23 Oct 2017 23:46:00 +0000 (16:46 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 26 Nov 2017 13:51:11 +0000 (13:51 +0000)
commit2de544fd1b16f76f8dd1213d585ce611155ccd34
tree33defab3415d10e811c3c1d68e4050881ee716bd
parent0df873c63e8e99a8fb6e068d182b860e6e6e07a9
Input: gtco - fix potential out-of-bound access

commit a50829479f58416a013a4ccca791336af3c584c7 upstream.

parse_hid_report_descriptor() has a while (i < length) loop, which
only guarantees that there's at least 1 byte in the buffer, but the
loop body can read multiple bytes which causes out-of-bounds access.

Reported-by: Andrey Konovalov <andreyknvl@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
[bwh: Backported to 3.2: use &device->usbdev->dev as the device for dev_err()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/input/tablet/gtco.c