From: Hans de Goede <hdego...@redhat.com>

So that we don't index endp_table with a negative index.

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 usb-linux.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/usb-linux.c b/usb-linux.c
index 4c6c284..82c1e7d 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1030,6 +1030,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.1


Reply via email to