On Sat, 2020-03-07 at 13:15 +0100, Hans de Goede wrote: > Our goodix_check_cfg_* helpers do things like: > > int i, raw_cfg_len = cfg->size - 2; > ... > if (check_sum != cfg->data[raw_cfg_len]) { > > When cfg->size < 2, this will end up indexing the cfg->data array > with > a negative value, which will not end well. > > To fix this this commit adds a new GOODIX_CONFIG_MIN_LENGTH define > and > adds a minimum size check for firmware-config files using this new > define. > > For consistency this commit also adds a new GOODIX_CONFIG_GT9X_LENGTH > for > the length used for recent gt9xx and gt1xxx chips, instead of using > GOODIX_CONFIG_MAX_LENGTH for this, so that if other length defines > get > added in the future it will be clear that the MIN and MAX defines > should > contain the min and max values of all the other defines. > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Bastien Nocera <hadess@xxxxxxxxxx>