media: cx24120: Add retval check for cx24120_message_send()
authorDaniil Dulov <d.dulov@aladdin.ru>
Fri, 2 Jun 2023 08:55:01 +0000 (01:55 -0700)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 19 Jul 2023 10:57:48 +0000 (12:57 +0200)
If cx24120_message_send() returns error, we should keep local struct
unchanged.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 5afc9a25be8d ("[media] Add support for TechniSat Skystar S2")
Signed-off-by: Daniil Dulov <d.dulov@aladdin.ru>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/dvb-frontends/cx24120.c

index d8acd58..0f77866 100644 (file)
@@ -973,7 +973,9 @@ static void cx24120_set_clock_ratios(struct dvb_frontend *fe)
        cmd.arg[8] = (clock_ratios_table[idx].rate >> 8) & 0xff;
        cmd.arg[9] = (clock_ratios_table[idx].rate >> 0) & 0xff;
 
-       cx24120_message_send(state, &cmd);
+       ret = cx24120_message_send(state, &cmd);
+       if (ret != 0)
+               return;
 
        /* Calculate ber window rates for stat work */
        cx24120_calculate_ber_window(state, clock_ratios_table[idx].rate);