• Will McVicker's avatar
    HID: make arrays usage and value to be the same · ed9be64e
    Will McVicker authored
    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
    hidinput_count_leds().
    
    To fix this, let's make sure that both the usage and value arrays are
    the same size.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarWill McVicker <willmcvicker@google.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    ed9be64e
hid-core.c 64.6 KB