From 9e48aace87877c4a95fc1a0ecb3397d6240b5dce Mon Sep 17 00:00:00 2001 From: Anatol Ulrich Date: Thu, 2 Sep 2021 00:05:25 +0200 Subject: [PATCH] length check in usb-3 --- advanced/firmware/src/bin/usb-3.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/advanced/firmware/src/bin/usb-3.rs b/advanced/firmware/src/bin/usb-3.rs index bd3799b..b096054 100644 --- a/advanced/firmware/src/bin/usb-3.rs +++ b/advanced/firmware/src/bin/usb-3.rs @@ -76,6 +76,9 @@ fn on_event(usbd: &USBD, ep0in: &mut Ep0In, event: Event) { // TODO send back a valid device descriptor, truncated to `length` bytes // let desc = usb2::device::Descriptor { .. }; let resp = []; + + // ensure we're not overstepping boundaries + assert!(resp.len() <= length as usize); ep0in.start(&resp, usbd); } Request::SetAddress { .. } => {