hwmon: (ads1015) Fix off-by-one for valid channel index checking
authorAxel Lin <axel.lin@ingics.com>
Wed, 30 Jul 2014 03:13:52 +0000 (11:13 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Sep 2014 23:34:14 +0000 (16:34 -0700)
commit 56de1377ad92f72ee4e5cb0faf7a9b6048fdf0bf upstream.

Current code uses channel as array index, so the valid channel value is
0 .. ADS1015_CHANNELS - 1.

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>
drivers/hwmon/ads1015.c

index 7f9dc2f..22e0c92 100644 (file)
@@ -198,7 +198,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
                }
 
                channel = be32_to_cpup(property);
-               if (channel > ADS1015_CHANNELS) {
+               if (channel >= ADS1015_CHANNELS) {
                        dev_err(&client->dev,
                                "invalid channel index %d on %s\n",
                                channel, node->full_name);