Commit e9814295 authored by Axel Lin's avatar Axel Lin Committed by Guenter Roeck

hwmon: (ads1015) Fix out-of-bounds array access

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: default avatarAxel Lin <axel.lin@ingics.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 5b963089
...@@ -212,6 +212,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client) ...@@ -212,6 +212,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
dev_err(&client->dev, dev_err(&client->dev,
"invalid gain on %s\n", "invalid gain on %s\n",
node->full_name); node->full_name);
return -EINVAL;
} }
} }
...@@ -222,6 +223,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client) ...@@ -222,6 +223,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
dev_err(&client->dev, dev_err(&client->dev,
"invalid data_rate on %s\n", "invalid data_rate on %s\n",
node->full_name); node->full_name);
return -EINVAL;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment