-
Notifications
You must be signed in to change notification settings - Fork 112
Open
Description
The main offender is download_more_ram()
that converts 0 to a pointer.
Line 105 in ab0d48f
let sentinel_slice = crate::transmute::<_, &[u8]>([0usize, 1usize]); |
With
std::mem::transmute
this causes time-travelling UB: compiler concludes that the only way we could get 0
here is by failing unwrap()
few lines prior. The simple solution would be to use 1usize
and 2usize
to deduce the slice pointer layout or just assume that the pointer goes first - it's not the end of the world.This prevents removing
#[inline(never)]
in the implementation of transmute()
.Speykious
Metadata
Metadata
Assignees
Labels
No labels