diff options
author | Lucas Stach <dev@lynxeye.de> | 2016-07-06 20:44:35 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-07-07 09:35:53 +0200 |
commit | 81a54afd22ceb6fb7a70cc8be6368831a4692135 (patch) | |
tree | e92881350b20bf180636c12c7db01f809007ec7a | |
parent | 04f3cde15146e49339e20dac6986de303d1e7e31 (diff) | |
download | barebox-81a54afd22ceb6fb7a70cc8be6368831a4692135.tar.gz barebox-81a54afd22ceb6fb7a70cc8be6368831a4692135.tar.xz |
USB: gadget: composite: avoid possible NULL ptr dereference
Check if g is valid before trying to dereference it.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/gadget/composite.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 9e38ac4942..1cfc49d1c5 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -86,7 +86,7 @@ int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f, struct usb_ep *_ep) { - struct usb_composite_dev *cdev = get_gadget_data(g); + struct usb_composite_dev *cdev; struct usb_endpoint_descriptor *chosen_desc = NULL; struct usb_descriptor_header **speed_desc = NULL; @@ -98,6 +98,8 @@ int config_ep_by_speed(struct usb_gadget *g, if (!g || !f || !_ep) return -EIO; + cdev = get_gadget_data(g); + /* select desired speed */ switch (g->speed) { case USB_SPEED_SUPER: |