hwmon: (ads1015) Fix out-of-bounds array access
commit e981429557cbe10c780fab1c1a237cb832757652 upstream. Current code uses data_rate as array index in ads1015_read_adc() and uses pga as array index in ads1015_reg_to_mv, so we must make sure both data_rate and pga settings are in valid value range. Return -EINVAL if the setting is out-of-range. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
53f281f2b4
commit
f93978fdb5
|
@ -198,6 +198,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
|
|||
dev_err(&client->dev,
|
||||
"invalid gain on %s\n",
|
||||
node->full_name);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -208,6 +209,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
|
|||
dev_err(&client->dev,
|
||||
"invalid data_rate on %s\n",
|
||||
node->full_name);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue