rust/tests/fail/dangling_pointers/dangling_zst_deref.rs

12 lines
436 B
Rust
Raw Normal View History

// Make sure we find these even with many checks disabled.
2021-03-25 06:44:30 -05:00
// Some optimizations remove ZST accesses, thus masking this UB.
2022-07-08 11:08:32 -05:00
//@compile-flags: -Zmir-opt-level=0 -Zmiri-disable-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-disable-validation
2019-08-02 07:26:15 -05:00
fn main() {
let p = {
let b = Box::new(42);
&*b as *const i32 as *const ()
};
2020-03-08 17:34:54 -05:00
let _x = unsafe { *p }; //~ ERROR dereferenced after this allocation got freed
2019-08-02 07:26:15 -05:00
}