rust/tests/compile-fail/storage_dead_dangling.rs

23 lines
402 B
Rust
Raw Normal View History

// This should fail even without validation
// compile-flags: -Zmiri-disable-validation
static mut LEAK: usize = 0;
fn fill(v: &mut i32) {
unsafe { LEAK = v as *mut _ as usize; }
}
fn evil() {
2019-07-28 11:08:39 -05:00
unsafe { &mut *(LEAK as *mut i32) }; //~ ERROR dangling pointer was dereferenced
}
fn main() {
let _y;
{
let mut x = 0i32;
fill(&mut x);
_y = x;
}
evil();
}