diff options
author | Axel Lin <axel.lin@ingics.com> | 2014-08-05 09:59:49 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-05 16:34:14 -0700 |
commit | cfaf021518b15f5afc412e746785d3d8cca3e143 (patch) | |
tree | cc3b176a26b2fcd5686b823a061778dd1c397fd9 | |
parent | e5b3467d236838ee4d2b14ea3c470fd333da15b7 (diff) | |
download | lwn-cfaf021518b15f5afc412e746785d3d8cca3e143.tar.gz lwn-cfaf021518b15f5afc412e746785d3d8cca3e143.zip |
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>
-rw-r--r-- | drivers/hwmon/ads1015.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c index 22e0c926989d..126516414c11 100644 --- a/drivers/hwmon/ads1015.c +++ b/drivers/hwmon/ads1015.c @@ -212,6 +212,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; } } @@ -222,6 +223,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; } } |