Move desc_len sanity checks to start of loops
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user