//@ needs-sanitizer-support | |
//@ needs-sanitizer-address | |
//@ ignore-cross-compile | |
// | |
//@ compile-flags: -Z sanitizer=address -O -g | |
// | |
//@ run-fail | |
//@ error-pattern: AddressSanitizer: stack-buffer-overflow | |
//@ error-pattern: 'xs' (line 14) <== Memory access at offset | |
use std::hint::black_box; | |
fn main() { | |
let xs = [0, 1, 2, 3]; | |
// Avoid optimizing everything out. | |
let xs = black_box(xs.as_ptr()); | |
let code = unsafe { *xs.offset(4) }; | |
std::process::exit(code); | |
} |