From 0ca8591994abfe92bbef20ea6ab1856b11e3efde Mon Sep 17 00:00:00 2001 From: Shivani Bhardwaj Date: Sat, 20 Feb 2021 12:00:17 +0530 Subject: [PATCH] dcerpc/udp: remove transmute The book defines transmute as "This is really, truly, the most horribly unsafe thing you can do in Rust. The guardrails here are dental floss." Transmute can result into mind boggling undefined behaviors. Get rid of it wherever possible. --- rust/src/dcerpc/dcerpc_udp.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/src/dcerpc/dcerpc_udp.rs b/rust/src/dcerpc/dcerpc_udp.rs index 959b02483e..14a09be94b 100644 --- a/rust/src/dcerpc/dcerpc_udp.rs +++ b/rust/src/dcerpc/dcerpc_udp.rs @@ -275,7 +275,7 @@ pub extern "C" fn rs_dcerpc_udp_get_tx( let dce_state = cast_pointer!(state, DCERPCUDPState); match dce_state.get_tx(tx_id) { Some(tx) => { - return unsafe{transmute(tx)}; + return unsafe{&mut *(tx as *mut DCERPCTransaction)}; }, None => { return std::ptr::null_mut(); -- 2.47.2