media: usb: Check az6007_read() return value
authorDaniil Dulov <d.dulov@aladdin.ru>
Tue, 14 Mar 2023 17:04:49 +0000 (10:04 -0700)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 25 May 2023 14:21:19 +0000 (16:21 +0200)
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>
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;