This comparison should be >= ARRAY_SIZE() instead of >. The "mspan" variable is later used as an array index into ltc2664_mspan_lut[] so this is an off by one bug. Fixes: 4cc2fc445d2e ("iio: dac: ltc2664: Add driver for LTC2664 and LTC2672") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- drivers/iio/dac/ltc2664.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/dac/ltc2664.c b/drivers/iio/dac/ltc2664.c index 666ecdeb5f96..5be5345ac5c8 100644 --- a/drivers/iio/dac/ltc2664.c +++ b/drivers/iio/dac/ltc2664.c @@ -526,7 +526,7 @@ static int ltc2664_channel_config(struct ltc2664_state *st) return dev_err_probe(dev, -EINVAL, "adi,manual-span-operation-config not supported\n"); - if (mspan > ARRAY_SIZE(ltc2664_mspan_lut)) + if (mspan >= ARRAY_SIZE(ltc2664_mspan_lut)) return dev_err_probe(dev, -EINVAL, "adi,manual-span-operation-config not in range\n"); } -- 2.43.0