From 51500a1d7096395be9162599fae647ec121db91d Mon Sep 17 00:00:00 2001 From: Emil Fresk Date: Thu, 8 Apr 2021 09:12:08 +0200 Subject: Fixed UB in `spawn_at` --- macros/src/codegen/module.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'macros/src/codegen/module.rs') diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs index ac69a80..50146c0 100644 --- a/macros/src/codegen/module.rs +++ b/macros/src/codegen/module.rs @@ -414,17 +414,11 @@ pub fn codegen( let tq = unsafe { &mut *#app_path::#tq.as_mut_ptr() }; - if let Some(mono) = #app_path::#m_ident.as_mut() { - tq.enqueue_unchecked( - nr, - || #enable_interrupt, - || #pend, - mono) - } else { - // We can only use the timer queue if `init` has returned, and it - // writes the `Some(monotonic)` we are accessing here. - core::hint::unreachable_unchecked() - } + tq.enqueue_unchecked( + nr, + || #enable_interrupt, + || #pend, + #app_path::#m_ident.as_mut()); Ok(SpawnHandle { marker }) }) -- cgit v1.2.3