summaryrefslogtreecommitdiff
path: root/drivers/media/usb/b2c2
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.com>2019-07-30 09:48:27 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-28 18:26:19 +0100
commit89660684ceca03bcaf5d1637709a4875e98387c6 (patch)
treea4b4d599d2a7fb7b3fb55252ac8ab380bdde615b /drivers/media/usb/b2c2
parent71941ad643fd18ef59b00b745e6b9967feffaccb (diff)
media: b2c2-flexcop-usb: add sanity checking
commit 1b976fc6d684e3282914cdbe7a8d68fdce19095c upstream. The driver needs an isochronous endpoint to be present. It will oops in its absence. Add checking for it. Reported-by: syzbot+d93dff37e6a89431c158@syzkaller.appspotmail.com Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/media/usb/b2c2')
-rw-r--r--drivers/media/usb/b2c2/flexcop-usb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/usb/b2c2/flexcop-usb.c b/drivers/media/usb/b2c2/flexcop-usb.c
index 0bd969063392..83d3a5cf272f 100644
--- a/drivers/media/usb/b2c2/flexcop-usb.c
+++ b/drivers/media/usb/b2c2/flexcop-usb.c
@@ -508,6 +508,9 @@ static int flexcop_usb_probe(struct usb_interface *intf,
struct flexcop_device *fc = NULL;
int ret;
+ if (intf->cur_altsetting->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
if ((fc = flexcop_device_kmalloc(sizeof(struct flexcop_usb))) == NULL) {
err("out of memory\n");
return -ENOMEM;