From 09015a218ebb311bc62703a6dddf1efa1d683da9 Mon Sep 17 00:00:00 2001 From: elle Date: Sun, 7 Sep 2025 20:04:28 +0000 Subject: [PATCH] ld_so: remove unsafe transmute in mmap_and_copy Refactors casting the `raw` address as a byte array to use idiomatic Rust APIs instead of the unsafe call to `transmute`. --- src/ld_so/dso.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ld_so/dso.rs b/src/ld_so/dso.rs index 575c255635..0cfa202b3d 100644 --- a/src/ld_so/dso.rs +++ b/src/ld_so/dso.rs @@ -618,7 +618,7 @@ impl DSO { let (ph, _) = dynamic.unwrap(); let vaddr = ph.p_vaddr(endian) as usize; let bytes: [u8; size_of::() / 2] = - unsafe { core::mem::transmute((&_r_debug) as *const RTLDDebug as usize) }; + ((&raw const _r_debug).cast::<*const RTLDDebug>() as usize).to_ne_bytes(); let start = if is_pie_enabled(elf) { vaddr + i * size_of::() + size_of::() / 2 } else {