]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Sep 2023 08:47:05 +0000 (10:47 +0200)
[ Upstream commit ee630b29ea44d1851bb6c903f400956604834463 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/tuners/qt1010.c

index 31258749b27b7658444c4fe323f815816943211a..37a1db02a30422fb3f18c7914db80df7889fa201 100644 (file)
@@ -351,11 +351,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;
                }