9
0
Fork 0

usb.c: warning on USB_MAXINTERFACES overflow

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Antony Pavlov 2011-09-12 14:25:46 +04:00 committed by Sascha Hauer
parent 3c68ddb583
commit a8af2ad4f1
1 changed files with 10 additions and 0 deletions

View File

@ -207,6 +207,16 @@ static int usb_parse_config(struct usb_device *dev, unsigned char *buffer, int c
&buffer[index])->bInterfaceNumber != curr_if_num) {
/* this is a new interface, copy new desc */
ifno = dev->config.no_of_if;
/* if ifno > USB_MAXINTERFACES, then
* next memcpy() will corrupt dev->config
*/
if (ifno > USB_MAXINTERFACES) {
printf("ifno = %d > "
"USB_MAXINTERFACES = %d !\n",
ifno,
USB_MAXINTERFACES);
break;
}
dev->config.no_of_if++;
memcpy(&dev->config.if_desc[ifno],
&buffer[index], buffer[index]);