-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Hi, I am scanning the mrusty in the latest version with my own static analyzer tool.
Unsafe conversion found at: src/mruby.rs#L1184
extern "C" fn run_protected(mrb: *const MrState, data: MrValue) -> MrValue {
unsafe {
let ptr = data.to_ptr().unwrap();
let args = *mem::transmute::<*const u8, *const [*const u8; 3]>(ptr);This unsound implementation would create a misalignment issues if the type size of u8 is smaller than the type size of [u8; 3].
This would potentially cause undefined behaviors in Rust. If we further manipulate the problematic converted types, it would potentially lead to different consequences such as access out-of-bound. I am reporting this issue for your attention.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels