summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-09-13 14:03:59 +0700
committerhathach <[email protected]>2019-09-13 14:03:59 +0700
commit064adebbd0c6e35e6a18d5dda3deba232db2690d (patch)
treeff2a5a8009e19da94e9f2eba606f295e99c29209 /src/device
parentc3598f030158cf32f571a3c11b833a3a910d63c8 (diff)
fix #152, potential memory issue
Diffstat (limited to 'src/device')
-rw-r--r--src/device/usbd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 53f0226bc..184702f1a 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -435,8 +435,9 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
case TUSB_REQ_RCPT_INTERFACE:
{
uint8_t const itf = tu_u16_low(p_request->wIndex);
- uint8_t const drvid = _usbd_dev.itf2drv[itf];
+ TU_VERIFY(itf < TU_ARRAY_SZIE(_usbd_dev.itf2drv));
+ uint8_t const drvid = _usbd_dev.itf2drv[itf];
TU_VERIFY(drvid < USBD_CLASS_DRIVER_COUNT);
if (p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_STANDARD)