Skip to content
This repository has been archived by the owner on May 17, 2020. It is now read-only.

UB due to misuse of mem::uninitialized (will soon lead to panic) #1

Open
RalfJung opened this issue May 3, 2020 · 0 comments
Open

Comments

@RalfJung
Copy link

RalfJung commented May 3, 2020

Here, this crate causes UB by "Producing an invalid value". Concretely, it produces a value of type geometry::ray::ShearingTransformCache with mem::uninitialized(), which contains a Permulation, which is an enum and thus must always contain a valid enum variant. In the near future the call to mem::uninitialized() will panic to avoid UB, and our crater run determined that this crate will be affected.

mem::uninitialized() is deprecated since Rust 1.39. The intended replacement is MaybeUninit, which tracks the possibility of uninitialized values at the type level to make sure the compiler does not make any false assumptions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant