Re: [patch] iio: tsl2583: make array large enough

From: Brian Masney
Date: Thu Nov 24 2016 - 10:48:56 EST


On Thu, Nov 24, 2016 at 04:38:07PM +0300, Dan Carpenter wrote:
> This array is supposed to have 10 elements. Smatch complains that with
> the current code we can have n == max_ints and read beyond the end of
> the array.
>
> Fixes: ac4f6eee8fe8 ("staging: iio: TAOS tsl258x: Device driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
> diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c
> index 0b87f6a..a78b602 100644
> --- a/drivers/iio/light/tsl2583.c
> +++ b/drivers/iio/light/tsl2583.c
> @@ -565,7 +565,7 @@ static ssize_t in_illuminance_lux_table_store(struct device *dev,
> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> struct tsl2583_chip *chip = iio_priv(indio_dev);
> const unsigned int max_ints = TSL2583_MAX_LUX_TABLE_ENTRIES * 3;
> - int value[TSL2583_MAX_LUX_TABLE_ENTRIES * 3];
> + int value[TSL2583_MAX_LUX_TABLE_ENTRIES * 3 + 1];
> int ret = -EINVAL;
> unsigned int n;
>

Acked-by: Brian Masney <masneyb@xxxxxxxxxxxxx>