| From 03eb2a557ed552e920a0942b774aaf931596eec1 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Tue, 7 Mar 2017 15:14:13 -0300 |
| Subject: [media] mceusb: fix NULL-deref at probe |
| |
| From: Johan Hovold <johan@kernel.org> |
| |
| commit 03eb2a557ed552e920a0942b774aaf931596eec1 upstream. |
| |
| Make sure to check for the required out endpoint to avoid dereferencing |
| a NULL-pointer in mce_request_packet should a malicious device lack such |
| an endpoint. Note that this path is hit during probe. |
| |
| Fixes: 66e89522aff7 ("V4L/DVB: IR: add mceusb IR receiver driver") |
| |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Sean Young <sean@mess.org> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/rc/mceusb.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/media/rc/mceusb.c |
| +++ b/drivers/media/rc/mceusb.c |
| @@ -1288,8 +1288,8 @@ static int mceusb_dev_probe(struct usb_i |
| } |
| } |
| } |
| - if (ep_in == NULL) { |
| - dev_dbg(&intf->dev, "inbound and/or endpoint not found"); |
| + if (!ep_in || !ep_out) { |
| + dev_dbg(&intf->dev, "required endpoints not found\n"); |
| return -ENODEV; |
| } |
| |