media: tuners: qt1010: replace BUG_ON with a regular error
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 20 Jul 2023 06:20:51 +0000 (08:20 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 25 Jul 2023 07:24:30 +0000 (09:24 +0200)
BUG_ON is unnecessary here, and in addition it confuses smatch.
Replacing this with an error return help resolve this smatch
warning:

drivers/media/tuners/qt1010.c:350 qt1010_init() error: buffer overflow 'i2c_data' 34 <= 34

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/tuners/qt1010.c

index 3853a3d..a7b1986 100644 (file)
@@ -345,11 +345,12 @@ static int qt1010_init(struct dvb_frontend *fe)
                        else
                                valptr = &tmpval;
 
-                       BUG_ON(i >= ARRAY_SIZE(i2c_data) - 1);
-
-                       err = qt1010_init_meas1(priv, i2c_data[i+1].reg,
-                                               i2c_data[i].reg,
-                                               i2c_data[i].val, valptr);
+                       if (i >= ARRAY_SIZE(i2c_data) - 1)
+                               err = -EIO;
+                       else
+                               err = qt1010_init_meas1(priv, i2c_data[i + 1].reg,
+                                                       i2c_data[i].reg,
+                                                       i2c_data[i].val, valptr);
                        i++;
                        break;
                }