mirror of https://gitee.com/openkylin/linux.git
usbtmc: more sanity checking for packet size
A malicious device can make the driver divide ny zero with a nonsense maximum packet size. Signed-off-by: Oliver Neukum <oneukum@suse.com> Cc: stable <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20190820092826.17694-1-oneukum@suse.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3afa758cfb
commit
de7b9aa633
|
@ -2362,8 +2362,11 @@ static int usbtmc_probe(struct usb_interface *intf,
|
|||
goto err_put;
|
||||
}
|
||||
|
||||
retcode = -EINVAL;
|
||||
data->bulk_in = bulk_in->bEndpointAddress;
|
||||
data->wMaxPacketSize = usb_endpoint_maxp(bulk_in);
|
||||
if (!data->wMaxPacketSize)
|
||||
goto err_put;
|
||||
dev_dbg(&intf->dev, "Found bulk in endpoint at %u\n", data->bulk_in);
|
||||
|
||||
data->bulk_out = bulk_out->bEndpointAddress;
|
||||
|
|
Loading…
Reference in New Issue