OSDN Git Service

HID: i2c-hid: fix size check and type usage
authorAaron Ma <aaron.ma@canonical.com>
Mon, 8 Jan 2018 02:41:40 +0000 (10:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Apr 2018 07:32:06 +0000 (09:32 +0200)
commitdbae9a8dae744af765527099e685e22e6fbc46eb
tree429a9e0aa9c03072a60d570d22ac90122a0f4e3c
parent0ab6b8c91ecfbe8d2c4fb5119d6f67b12e1be2cc
HID: i2c-hid: fix size check and type usage

commit ac75a041048b8c1f7418e27621ca5efda8571043 upstream.

When convert char array with signed int, if the inbuf[x] is negative then
upper bits will be set to 1. Fix this by using u8 instead of char.

ret_size has to be at least 3, hid_input_report use it after minus 2 bytes.

Cc: stable@vger.kernel.org
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hid/i2c-hid/i2c-hid.c