Move desc_len sanity checks to start of loops

This commit is contained in:
GuavTek
2024-11-27 22:19:42 +01:00
parent ebcd7067c9
commit 4212db1b83
2 changed files with 11 additions and 11 deletions

View File

@@ -247,6 +247,10 @@ uint16_t tu_desc_get_interface_total_len(tusb_desc_interface_t const* desc_itf,
p_desc = tu_desc_next(p_desc);
while (len < max_len) {
if (tu_desc_len(p_desc) == 0) {
// Escape infinite loop
break;
}
// return on IAD regardless of itf count
if (tu_desc_type(p_desc) == TUSB_DESC_INTERFACE_ASSOCIATION) {
return len;
@@ -255,10 +259,6 @@ uint16_t tu_desc_get_interface_total_len(tusb_desc_interface_t const* desc_itf,
((tusb_desc_interface_t const*) p_desc)->bAlternateSetting == 0) {
break;
}
if (tu_desc_len(p_desc) == 0) {
// Escape infinite loop
break;
}
len += tu_desc_len(p_desc);
p_desc = tu_desc_next(p_desc);