media: usb: Check az6007_read() return value
authorDaniil Dulov <d.dulov@aladdin.ru>
Tue, 14 Mar 2023 17:04:49 +0000 (10:04 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:50 +0000 (16:21 +0200)
[ Upstream commit fdaca63186f59fc664b346c45b76576624b48e57 ]

If az6007_read() returns error, there is no sence to continue.

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

Fixes: 3af2f4f15a61 ("[media] az6007: Change the az6007 read/write routine parameter")
Signed-off-by: Daniil Dulov <d.dulov@aladdin.ru>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/usb/dvb-usb-v2/az6007.c

index 62ee09f..7524c90 100644 (file)
@@ -202,7 +202,8 @@ static int az6007_rc_query(struct dvb_usb_device *d)
        unsigned code;
        enum rc_proto proto;
 
-       az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10);
+       if (az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10) < 0)
+               return -EIO;
 
        if (st->data[1] == 0x44)
                return 0;