GitHub Advisoryadvisory · crates.io
GHSA-c439-chv8-8g2j `os_socketaddr` invalidly assumes the memory layout of std::net::SocketAddr
HIGH
Official page ↗
- Ecosystem
- crates.io
- Packages
- os_socketaddr
- Severity
- High
- Reviewed
- 2022-09-02
Affected packages
• crates.io os_socketaddr: < 0.2.2 → fixed in 0.2.2
Description
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.