So that we don't index endp_table with a negative index.
---
usb-linux.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/usb-linux.c b/usb-linux.c
index 544aea3..e2f45d3 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1029,6 +1029,11 @@ static int usb_linux_update_endp_table(USBHostDevice *s)
}
devep = descriptors[i + 2];
+ if ((devep & 0x0f) == 0) {
+ fprintf(stderr, "usb-linux: invalid ep descriptor, ep == 0\n");
+ return 1;
+ }
+
switch (descriptors[i + 3] & 0x3) {
case 0x00:
type = USBDEVFS_URB_TYPE_CONTROL;
--
1.7.5.1