tomaka / hlua

Rust library to interface with Lua
MIT License
507 stars 48 forks source link

Heads-up: UB due to misuse of mem::uninitialized will soon lead to panic #209

Closed RalfJung closed 5 months ago

RalfJung commented 4 years ago

Here, this crate causes UB by "Producing an invalid value". Concretely, it produces a value of an arbitrary type L with mem::uninitialized(). 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.