aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Hovold2017-03-13 13:40:22 +0100
committerUlf Hansson2017-03-16 15:31:27 +0100
commit181302dc7239add8ab1449c23ecab193f52ee6ab (patch)
tree6ac9e1a0bbcb741cd1029027d43aabd045a38e44
parent2ce0c7b65505e0d915e99389cced45b478dc935d (diff)
mmc: ushc: fix NULL-deref at probe
Make sure to check the number of endpoints to avoid dereferencing a NULL-pointer should a malicious device lack endpoints. Fixes: 53f3a9e26ed5 ("mmc: USB SD Host Controller (USHC) driver") Cc: stable <stable@vger.kernel.org> # 2.6.37 Cc: David Vrabel <david.vrabel@csr.com> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/host/ushc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/host/ushc.c b/drivers/mmc/host/ushc.c
index d2c386f09d69..1d843357422e 100644
--- a/drivers/mmc/host/ushc.c
+++ b/drivers/mmc/host/ushc.c
@@ -426,6 +426,9 @@ static int ushc_probe(struct usb_interface *intf, const struct usb_device_id *id
struct ushc_data *ushc;
int ret;
+ if (intf->cur_altsetting->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
mmc = mmc_alloc_host(sizeof(struct ushc_data), &intf->dev);
if (mmc == NULL)
return -ENOMEM;