`os_socketaddr` invalidly assumes the memory layout of std::net::SocketAddr
High severity
GitHub Reviewed
Published
Sep 2, 2022
to the GitHub Advisory Database
•
Updated Jan 8, 2023
Description
Published to the GitHub Advisory Database
Sep 2, 2022
Reviewed
Sep 2, 2022
Last updated
Jan 8, 2023
The
os_socketaddrcrate has assumedstd::net::SocketAddrV4andstd::net::SocketAddrV6have the same memory layout as the system C representationsockaddr. It has simply casted the pointers to convert the socket addresses to the system representation.These layout were changed into idiomatic rust types in nightly
std. Starting from rustc 1.64 the affected versions of this crate will have undefined behaviour.References