From: Maulik Mankad Date: Thu, 13 Jan 2011 12:49:56 +0000 (+0530) Subject: usb: gadget: composite: avoid access beyond array max length X-Git-Tag: v2.6.38-rc3~7^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3c47eb06f08eb970ea9d696bcdb57a175d37b470;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git usb: gadget: composite: avoid access beyond array max length One of the USB CV MSC tests issues Get Max LUN request with invalid wIndex (wIndex = 65535) parameter. Add proper handling to prevent array index out of bounds issue. Signed-off-by: Maulik Mankad Cc: David Brownell Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index f6ff845..1ba4bef 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -928,8 +928,9 @@ unknown: */ switch (ctrl->bRequestType & USB_RECIP_MASK) { case USB_RECIP_INTERFACE: - if (cdev->config) - f = cdev->config->interface[intf]; + if (!cdev->config || w_index >= MAX_CONFIG_INTERFACES) + break; + f = cdev->config->interface[intf]; break; case USB_RECIP_ENDPOINT: