Commit ef079936 authored by Johan Hovold's avatar Johan Hovold

USB: serial: ti_usb_3410_5052: fix NULL-deref at open

Fix NULL-pointer dereference in open() should a malicious device lack
the expected endpoints:

Unable to handle kernel NULL pointer dereference at virtual address 00000030
..
[<bf06a6b0>] (ti_open [ti_usb_3410_5052]) from [<bf02e118>] (serial_port_activate+0x68/0x98 [usbserial])

Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent cc090924
...@@ -579,6 +579,13 @@ static int ti_startup(struct usb_serial *serial) ...@@ -579,6 +579,13 @@ static int ti_startup(struct usb_serial *serial)
goto free_tdev; goto free_tdev;
} }
if (serial->num_bulk_in < serial->num_ports ||
serial->num_bulk_out < serial->num_ports) {
dev_err(&serial->interface->dev, "missing endpoints\n");
status = -ENODEV;
goto free_tdev;
}
return 0; return 0;
free_tdev: free_tdev:
......
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