From 3160e62b8ad8a6ab29289151b58d91d31326e578 Mon Sep 17 00:00:00 2001 From: dylni <46035563+dylni@users.noreply.github.com> Date: Mon, 25 May 2020 11:34:06 -0400 Subject: [PATCH] Fix undefined behavior in `energymon::init` --- components/profile_traits/energy.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/profile_traits/energy.rs b/components/profile_traits/energy.rs index fec9a92c61b..1753531b940 100644 --- a/components/profile_traits/energy.rs +++ b/components/profile_traits/energy.rs @@ -29,7 +29,6 @@ mod energymon { use self::energy_monitor::EnergyMonitor; use self::energymon::EnergyMon; - use std::mem; use std::sync::{Once, ONCE_INIT}; static mut EM: Option<*mut EnergyMon> = None; @@ -41,7 +40,7 @@ mod energymon { if let Ok(em) = EnergyMon::new() { println!("Started energy monitoring from: {}", em.source()); unsafe { - EM = Some(mem::transmute(Box::new(em))); + EM = Some(Box::into_raw(Box::new(em))); } } });