Loading
HID: playstation: Clamp num_touch_reports
A device would never lie about the number of touch reports would it? If it does the loop in dualshock4_parse_report will read off the end of the touch_reports array, up to about 2 KiB for the maximum number of 256 loop iteraions. The data that is read is emitted via evdev if the DS4_TOUCH_POINT_INACTIVE bit happens to be set. Protect against this by clamping the num_touch_reports value provided by the device to the maximum size of the touch_reports array. Fixes: 75203824 ("HID: playstation: add DualShock4 touchpad support.") Cc: stable@vger.kernel.org Reported-by:Xingyu Jin <xingyuj@google.com> Signed-off-by:
T.J. Mercier <tjmercier@google.com> Signed-off-by:
Jiri Kosina <jkosina@suse.com>