[PATCH 4/5] gadget: possible null pointer dereference fix
Cerrato Renaud
r.cerrato at til-technologies.fr
Wed Mar 13 09:44:39 EDT 2013
This patch fix a possible null pointer dereference exception because of a missing null check on cdev->config
Signed-off-by: Cerrato Renaud <r.cerrato at til-technologies.fr>
---
drivers/usb/gadget/composite.c | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 9af115e..1f6c5b2 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -777,18 +777,21 @@ unknown:
* recipients (endpoint, other, WUSB, ...) to the current
* configuration code.
*/
- f = cdev->config->interface[intf];
- if (f && f->setup)
- value = f->setup(f, ctrl);
- else
- f = NULL;
+ if(cdev->config) {
- if (value < 0 && !f) {
- struct usb_configuration *c;
+ f = cdev->config->interface[intf];
+ if (f && f->setup)
+ value = f->setup(f, ctrl);
+ else
+ f = NULL;
- c = cdev->config;
- if (c && c->setup)
- value = c->setup(c, ctrl);
+ if (value < 0 && !f) {
+ struct usb_configuration *c;
+
+ c = cdev->config;
+ if (c && c->setup)
+ value = c->setup(c, ctrl);
+ }
}
goto done;
--
1.7.2.5
More information about the barebox
mailing list