12 lines
371 B
Rust
12 lines
371 B
Rust
|
#![feature(core_intrinsics)]
|
||
|
|
||
|
use std::intrinsics::ptr_offset_from;
|
||
|
|
||
|
fn main() {
|
||
|
let start_ptr = &4 as *const _ as *const u8;
|
||
|
let length = 10;
|
||
|
let end_ptr = start_ptr.wrapping_add(length);
|
||
|
// Even if the offset is 0, a dangling OOB pointer is not allowed.
|
||
|
unsafe { ptr_offset_from(end_ptr, end_ptr) }; //~ERROR pointer at offset 10 is out-of-bounds
|
||
|
}
|