From a2d6ead1660d5386a1cad9ee0800f3f91f7db8c2 Mon Sep 17 00:00:00 2001 From: kurte Date: Fri, 10 Nov 2023 09:04:04 -0800 Subject: [PATCH] Fix hang on GIGABYTE keyboard 0 length items in the configuration descriptor. --- src/USBHost/USBHost.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/USBHost/USBHost.cpp b/src/USBHost/USBHost.cpp index c1780f8..a300af0 100644 --- a/src/USBHost/USBHost.cpp +++ b/src/USBHost/USBHost.cpp @@ -1017,6 +1017,10 @@ void USBHost::parseConfDescr(USBDeviceConnected * dev, uint8_t * conf_descr, uin while (index < len) { len_desc = conf_descr[index]; + if (len_desc == 0) { + index++; + continue; + } id = conf_descr[index+1]; switch (id) { case CONFIGURATION_DESCRIPTOR: