]> git.hungrycats.org Git - linux/commit
HID: logitech: perform bounds checking on device_id early enough
authorJiri Kosina <jkosina@suse.cz>
Thu, 21 Aug 2014 14:57:17 +0000 (09:57 -0500)
committerJiri Slaby <jslaby@suse.cz>
Wed, 3 Sep 2014 08:54:39 +0000 (10:54 +0200)
commit2ae8a66674a4cd7f2cfee757ee29cb63dce755fe
tree52e42aace508740ea154e8d0560028256a9015d0
parent5d1ab637d00b258f7852c963771ed4f1fd0b2de3
HID: logitech: perform bounds checking on device_id early enough

commit ad3e14d7c5268c2e24477c6ef54bbdf88add5d36 upstream.

device_index is a char type and the size of paired_dj_deivces is 7
elements, therefore proper bounds checking has to be applied to
device_index before it is used.

We are currently performing the bounds checking in
logi_dj_recv_add_djhid_device(), which is too late, as malicious device
could send REPORT_TYPE_NOTIF_DEVICE_UNPAIRED early enough and trigger the
problem in one of the report forwarding functions called from
logi_dj_raw_event().

Fix this by performing the check at the earliest possible ocasion in
logi_dj_raw_event().

Reported-by: Ben Hawkes <hawkes@google.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/hid/hid-logitech-dj.c