media: ati_remote: sanity check for both endpoints
authorOliver Neukum <oneukum@suse.com>
Wed, 16 Sep 2020 13:50:51 +0000 (15:50 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sun, 27 Sep 2020 09:24:07 +0000 (11:24 +0200)
If you do sanity checks, you should do them for both endpoints.
Hence introduce checking for endpoint type for the output
endpoint, too.

Reported-by: syzbot+998261c2ae5932458f6c@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+huawei@kernel.org>
drivers/media/rc/ati_remote.c

index 9cdef17..c12dda7 100644 (file)
@@ -835,6 +835,10 @@ static int ati_remote_probe(struct usb_interface *interface,
                err("%s: endpoint_in message size==0? \n", __func__);
                return -ENODEV;
        }
+       if (!usb_endpoint_is_int_out(endpoint_out)) {
+               err("%s: Unexpected endpoint_out\n", __func__);
+               return -ENODEV;
+       }
 
        ati_remote = kzalloc(sizeof (struct ati_remote), GFP_KERNEL);
        rc_dev = rc_allocate_device(RC_DRIVER_SCANCODE);