The os_socketaddr
crate has assumed std::net::SocketAddrV4
and std::net::SocketAddrV6
have the same memory layout as the system C representation sockaddr
. 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.