`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_socketaddr
crate has assumedstd::net::SocketAddrV4
andstd::net::SocketAddrV6
have 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