[bug report] iio: light: noa1305: Make integration time configurable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Marek Vasut,

Commit 025f23cfebad ("iio: light: noa1305: Make integration time
configurable") from Jul 15, 2024 (linux-next), leads to the following
Smatch static checker warning:

	drivers/iio/light/noa1305.c:201 noa1305_write_raw()
	error: buffer overflow 'noa1305_int_time_available' 16 <= 31

drivers/iio/light/noa1305.c
    183 static int noa1305_write_raw(struct iio_dev *indio_dev,
    184                              struct iio_chan_spec const *chan,
    185                              int val, int val2, long mask)
    186 {
    187         struct noa1305_priv *priv = iio_priv(indio_dev);
    188         int i;
    189 
    190         if (chan->type != IIO_LIGHT)
    191                 return -EINVAL;
    192 
    193         if (mask != IIO_CHAN_INFO_INT_TIME)
    194                 return -EINVAL;
    195 
    196         if (val)        /* >= 1s integration time not supported */
    197                 return -EINVAL;
    198 
    199         /* Look up integration time register settings and write it if found. */
    200         for (i = 0; i < ARRAY_SIZE(noa1305_int_time_available); i++)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^

--> 201                 if (noa1305_int_time_available[2 * i + 1] == val2)
                                                       ^^^^^^^^^
Buffer overflow

    202                         return regmap_write(priv->regmap, NOA1305_REG_INTEGRATION_TIME, i);
    203 
    204         return -EINVAL;
    205 }

regards,
dan carpenter




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux