hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/media/usb/dvb-usb-v2/az6007.c
....@@ -202,7 +202,8 @@
202202 unsigned code;
203203 enum rc_proto proto;
204204
205
- az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10);
205
+ if (az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10) < 0)
206
+ return -EIO;
206207
207208 if (st->data[1] == 0x44)
208209 return 0;
....@@ -787,6 +788,10 @@
787788 if (az6007_xfer_debug)
788789 printk(KERN_DEBUG "az6007: I2C W addr=0x%x len=%d\n",
789790 addr, msgs[i].len);
791
+ if (msgs[i].len < 1) {
792
+ ret = -EIO;
793
+ goto err;
794
+ }
790795 req = AZ6007_I2C_WR;
791796 index = msgs[i].buf[0];
792797 value = addr | (1 << 8);
....@@ -801,6 +806,10 @@
801806 if (az6007_xfer_debug)
802807 printk(KERN_DEBUG "az6007: I2C R addr=0x%x len=%d\n",
803808 addr, msgs[i].len);
809
+ if (msgs[i].len < 1) {
810
+ ret = -EIO;
811
+ goto err;
812
+ }
804813 req = AZ6007_I2C_RD;
805814 index = msgs[i].buf[0];
806815 value = addr;