diff --git a/advanced/firmware/src/bin/usb-1.rs b/advanced/firmware/src/bin/usb-1.rs index c95b045..6f3c003 100644 --- a/advanced/firmware/src/bin/usb-1.rs +++ b/advanced/firmware/src/bin/usb-1.rs @@ -46,6 +46,7 @@ fn on_event(_usbd: &USBD, event: Event) { // leave this at it is for now. Event::UsbEp0Setup => { log::info!("goal reached; move to the next section"); + dk::exit() } } } 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 { .. } => {