Fix #3033: Increase array bounds and test for overflow

This commit is contained in:
rppicomidi
2025-03-20 06:27:23 -07:00
parent c2924c51fc
commit 4b46493cb4
2 changed files with 3 additions and 2 deletions

View File

@@ -254,7 +254,8 @@ bool midih_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *d
TU_LOG_DRV(" Jack %s %s descriptor \r\n",
tu_desc_subtype(p_desc) == MIDI_CS_INTERFACE_IN_JACK ? "IN" : "OUT",
p_desc[3] == MIDI_JACK_EXTERNAL ? "External" : "Embedded");
desc_cb.desc_jack[desc_cb.jack_num++] = p_desc;
if (desc_cb.jack_num < TU_ARRAY_SIZE(desc_cb.desc_jack))
desc_cb.desc_jack[desc_cb.jack_num++] = p_desc;
break;
}

View File

@@ -69,7 +69,7 @@ typedef struct {
const tusb_desc_endpoint_t* desc_epout; // endpoint OUT descriptor, CS_ENDPOINT is right after
uint8_t jack_num;
const uint8_t* desc_jack[16]; // list of jack descriptors (embedded + external)
const uint8_t* desc_jack[32]; // list of jack descriptors (embedded + external)
} tuh_midi_descriptor_cb_t;
typedef struct {