Commit f6d8ff75 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

Input: pegasus_notetaker - fix endpoint sanity check

commit bcfcb7f9 upstream.

The driver was checking the number of endpoints of the first alternate
setting instead of the current one, something which could be used by a
malicious device (or USB descriptor fuzzer) to trigger a NULL-pointer
dereference.

Fixes: 1afca2b6 ("Input: add Pegasus Notetaker tablet driver")
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Acked-by: default avatarMartin Kepplinger <martink@posteo.de>
Acked-by: default avatarVladis Dronov <vdronov@redhat.com>
Link: https://lore.kernel.org/r/20191210113737.4016-2-johan@kernel.orgSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d6ca8b03
......@@ -274,7 +274,7 @@ static int pegasus_probe(struct usb_interface *intf,
return -ENODEV;
/* Sanity check that the device has an endpoint */
if (intf->altsetting[0].desc.bNumEndpoints < 1) {
if (intf->cur_altsetting->desc.bNumEndpoints < 1) {
dev_err(&intf->dev, "Invalid number of endpoints\n");
return -EINVAL;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment