diff options
-rw-r--r-- | usb-linux.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/usb-linux.c b/usb-linux.c index feb4d36d0b..2e0495e239 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; |