Input: kbtab - validate number of endpoints before using them
commit cb1b494663e037253337623bf1ef2df727883cb7 upstream. Make sure to check the number of endpoints to avoid dereferencing a NULL-pointer should a malicious device lack endpoints. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c05490638d
commit
b3c4c0c470
1 changed files with 3 additions and 0 deletions
|
@ -122,6 +122,9 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
|
||||||
struct input_dev *input_dev;
|
struct input_dev *input_dev;
|
||||||
int error = -ENOMEM;
|
int error = -ENOMEM;
|
||||||
|
|
||||||
|
if (intf->cur_altsetting->desc.bNumEndpoints < 1)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
kbtab = kzalloc(sizeof(struct kbtab), GFP_KERNEL);
|
kbtab = kzalloc(sizeof(struct kbtab), GFP_KERNEL);
|
||||||
input_dev = input_allocate_device();
|
input_dev = input_allocate_device();
|
||||||
if (!kbtab || !input_dev)
|
if (!kbtab || !input_dev)
|
||||||
|
|
Loading…
Add table
Reference in a new issue