From 9e48aace87877c4a95fc1a0ecb3397d6240b5dce Mon Sep 17 00:00:00 2001 From: Anatol Ulrich Date: Thu, 2 Sep 2021 00:05:25 +0200 Subject: [PATCH 1/2] 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 { .. } => { From 06f8eb07a8edc78f2b611889bd33dfb7ceb89354 Mon Sep 17 00:00:00 2001 From: Anatol Ulrich Date: Fri, 3 Sep 2021 14:34:51 +0200 Subject: [PATCH 2/2] harmonize usb-1 and usb-1-solution --- advanced/firmware/src/bin/usb-1.rs | 1 + 1 file changed, 1 insertion(+) 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() } } }