From: Axel Lin Date: Tue, 5 Aug 2014 01:59:49 +0000 (+0800) Subject: hwmon: (ads1015) Fix out-of-bounds array access X-Git-Tag: v3.2.63~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35175850a97e752092c285051ca15201cfdcda81;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: Guenter Roeck Signed-off-by: Ben Hutchings --- diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c index c9780ae1a54c5..2f14cad31a549 100644 --- a/drivers/hwmon/ads1015.c +++ b/drivers/hwmon/ads1015.c @@ -200,6 +200,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; } } @@ -210,6 +211,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; } }