diff options
author | Johan Hovold <johan@kernel.org> | 2017-03-13 13:39:01 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-26 13:05:58 +0200 |
commit | c795d8780cc85403a32e92b5cc55e35cefcaf360 (patch) | |
tree | 94440aeb452fd63462207f672ff5feaef5bfb38a | |
parent | 033850b953004b7398466effbaec77bc2e404f6f (diff) | |
download | linux-stable-c795d8780cc85403a32e92b5cc55e35cefcaf360.tar.gz linux-stable-c795d8780cc85403a32e92b5cc55e35cefcaf360.tar.bz2 linux-stable-c795d8780cc85403a32e92b5cc55e35cefcaf360.zip |
isdn/gigaset: fix NULL-deref at probe
commit 68c32f9c2a36d410aa242e661506e5b2c2764179 upstream.
Make sure to check the number of endpoints to avoid dereferencing a
NULL-pointer should a malicious device lack endpoints.
Fixes: cf7776dc05b8 ("[PATCH] isdn4linux: Siemens Gigaset drivers - direct USB connection")
Cc: Hansjoerg Lipp <hjlipp@web.de>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/isdn/gigaset/bas-gigaset.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c index aecec6d32463..7f1c625b08ec 100644 --- a/drivers/isdn/gigaset/bas-gigaset.c +++ b/drivers/isdn/gigaset/bas-gigaset.c @@ -2317,6 +2317,9 @@ static int gigaset_probe(struct usb_interface *interface, return -ENODEV; } + if (hostif->desc.bNumEndpoints < 1) + return -ENODEV; + dev_info(&udev->dev, "%s: Device matched (Vendor: 0x%x, Product: 0x%x)\n", __func__, le16_to_cpu(udev->descriptor.idVendor), |