summaryrefslogtreecommitdiff
path: root/tinyusb/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2014-03-14 17:32:01 +0700
committerhathach <[email protected]>2014-03-14 17:32:01 +0700
commit18d577abfb3feb3c4eb2728661b6c508cdf37da0 (patch)
tree619af818e0affd522aae6790fdc69f7417a08c6a /tinyusb/device
parenteff1fe99f82f2fcec61141a42d0154928e7c9e7f (diff)
fix out of range array in usbd
Diffstat (limited to 'tinyusb/device')
-rw-r--r--tinyusb/device/usbd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c
index 1bd8b7d7e..a42a4292f 100644
--- a/tinyusb/device/usbd.c
+++ b/tinyusb/device/usbd.c
@@ -276,7 +276,7 @@ tusb_error_t usbd_init (void)
ASSERT_STATUS( osal_task_create( OSAL_TASK_REF(usbd_task) ));
//------------- class init -------------//
- for (tusb_std_class_code_t class_code = TUSB_CLASS_AUDIO; class_code <= TUSB_CLASS_AUDIO_VIDEO; class_code++)
+ for (uint8_t class_code = TUSB_CLASS_AUDIO; class_code < USBD_CLASS_DRIVER_COUNT; class_code++)
{
if ( usbd_class_drivers[class_code].init )
{
@@ -315,7 +315,7 @@ static tusb_error_t usbd_set_configure_received(uint8_t coreid, uint8_t config_n
class_index = p_desc_interface->bInterfaceClass;
- ASSERT( class_index != 0 && usbd_class_drivers[class_index].open != NULL, TUSB_ERROR_NOT_SUPPORTED_YET );
+ ASSERT( class_index != 0 && class_index < USBD_CLASS_DRIVER_COUNT && usbd_class_drivers[class_index].open != NULL, TUSB_ERROR_NOT_SUPPORTED_YET );
ASSERT( 0 == usbd_devices[coreid].interface2class[p_desc_interface->bInterfaceNumber], TUSB_ERROR_FAILED); // duplicate interface number TODO alternate setting
usbd_devices[coreid].interface2class[p_desc_interface->bInterfaceNumber] = class_index;
@@ -375,7 +375,7 @@ void usbd_dcd_bus_event_isr(uint8_t coreid, usbd_bus_event_type_t bus_event)
case USBD_BUS_EVENT_RESET :
case USBD_BUS_EVENT_UNPLUGGED :
memclr_(&usbd_devices[coreid], sizeof(usbd_device_info_t));
- for (tusb_std_class_code_t class_code = TUSB_CLASS_AUDIO; class_code <= TUSB_CLASS_AUDIO_VIDEO; class_code++)
+ for (uint8_t class_code = TUSB_CLASS_AUDIO; class_code < USBD_CLASS_DRIVER_COUNT; class_code++)
{
if ( usbd_class_drivers[class_code].close ) usbd_class_drivers[class_code].close( coreid );
}