HID: make arrays usage and value to be the same
commit ed9be64eefe26d7d8b0b5b9fa3ffdf425d87a01f upstream.
The HID subsystem allows an "HID report field" to have a different
number of "values" and "usages" when it is allocated. When a field
struct is created, the size of the usage array is guaranteed to be at
least as large as the values array, but it may be larger. This leads to
a potential out-of-bounds write in
__hidinput_change_resolution_multipliers() and an out-of-bounds read in
To fix this, let's make sure that both the usage and value arrays are
the same size.
Signed-off-by: Will McVicker <firstname.lastname@example.org>
Signed-off-by: Jiri Kosina <email@example.com>
Signed-off-by: Greg Kroah-Hartman <firstname.lastname@example.org>
(cherry picked from commit b12d39309ecf08cdcab716a5063f9ec23cb9f001)
1 file changed