]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: dvb_frontend: don't play tricks with underflow values
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 15 Oct 2024 14:05:16 +0000 (16:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 17 Nov 2024 13:59:36 +0000 (14:59 +0100)
[ Upstream commit 9883a4d41aba7612644e9bb807b971247cea9b9d ]

fepriv->auto_sub_step is unsigned. Setting it to -1 is just a
trick to avoid calling continue, as reported by Coverity.

It relies to have this code just afterwards:

if (!ready) fepriv->auto_sub_step++;

Simplify the code by simply setting it to zero and use
continue to return to the while loop.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/dvb-core/dvb_frontend.c

index ad3e42a4eaf73af7fdd030ac88e026a0804d7a5a..01efb4bd260d906bd45fcaa2a470f54e23530604 100644 (file)
@@ -442,8 +442,8 @@ static int dvb_frontend_swzigzag_autotune(struct dvb_frontend *fe, int check_wra
 
                default:
                        fepriv->auto_step++;
-                       fepriv->auto_sub_step = -1; /* it'll be incremented to 0 in a moment */
-                       break;
+                       fepriv->auto_sub_step = 0;
+                       continue;
                }
 
                if (!ready) fepriv->auto_sub_step++;