From 7f92eab3c477f321a55f53b6e04ac8ca2cd04ebf Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 23 Apr 2020 20:00:25 -0500 Subject: [PATCH] Add test to exercise InvalidUndefBytes --- tests/compile-fail/undefined_buffer.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/compile-fail/undefined_buffer.rs diff --git a/tests/compile-fail/undefined_buffer.rs b/tests/compile-fail/undefined_buffer.rs new file mode 100644 index 000000000000..dac02a8690e9 --- /dev/null +++ b/tests/compile-fail/undefined_buffer.rs @@ -0,0 +1,20 @@ +// error-pattern: reading uninitialized memory + +use std::alloc::{alloc, dealloc, Layout}; +use std::slice::from_raw_parts; + +fn main() { + let layout = Layout::from_size_align(32, 8).unwrap(); + unsafe { + let ptr = alloc(layout); + *ptr = 0x41; + *ptr.add(1) = 0x42; + *ptr.add(2) = 0x43; + *ptr.add(3) = 0x44; + *ptr.add(16) = 0x00; + let slice1 = from_raw_parts(ptr, 16); + let slice2 = from_raw_parts(ptr.add(16), 16); + drop(slice1.cmp(slice2)); + dealloc(ptr, layout); + } +}