|
| 1 | +error: Undefined Behavior: reading memory at ALLOC[0x0..0x8], but memory is uninitialized at [0x4..0x8], and this operation requires initialized memory |
| 2 | + --> RUSTLIB/core/src/slice/cmp.rs:LL:CC |
| 3 | + | |
| 4 | +LL | let mut order = unsafe { memcmp(left.as_ptr(), right.as_ptr(), len) as isize }; |
| 5 | + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reading memory at ALLOC[0x0..0x8], but memory is uninitialized at [0x4..0x8], and this operation requires initialized memory |
| 6 | + | |
| 7 | + = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior |
| 8 | + = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information |
| 9 | + = note: BACKTRACE: |
| 10 | + = note: inside `<u8 as core::slice::cmp::SliceOrd>::compare` at RUSTLIB/core/src/slice/cmp.rs:LL:CC |
| 11 | + = note: inside `core::slice::cmp::<impl std::cmp::Ord for [u8]>::cmp` at RUSTLIB/core/src/slice/cmp.rs:LL:CC |
| 12 | +note: inside `main` at $DIR/uninit_buffer_with_provenance.rs:LL:CC |
| 13 | + --> $DIR/uninit_buffer_with_provenance.rs:LL:CC |
| 14 | + | |
| 15 | +LL | drop(slice1.cmp(slice2)); |
| 16 | + | ^^^^^^^^^^^^^^^^^^ |
| 17 | + |
| 18 | +note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace |
| 19 | + |
| 20 | +Uninitialized memory occurred at ALLOC[0x4..0x8], in this allocation: |
| 21 | +ALLOC (Rust heap, size: 16, align: 8) { |
| 22 | + ╾42[ALLOC]<TAG> (1 ptr byte)╼ 12 13 ╾43[ALLOC]<TAG> (1 ptr byte)╼ __ __ __ __ __ __ __ __ __ __ __ __ │ ━..━░░░░░░░░░░░░ |
| 23 | +} |
| 24 | +ALLOC (global (static or const), size: 1, align: 1) { |
| 25 | + 2a │ * |
| 26 | +} |
| 27 | +ALLOC (global (static or const), size: 1, align: 1) { |
| 28 | + 00 │ . |
| 29 | +} |
| 30 | + |
| 31 | +error: aborting due to previous error |
| 32 | + |
0 commit comments