Assumed memory layout of std::net::SocketAddr
Moderate severity
GitHub Reviewed
Published
Aug 25, 2021
to the GitHub Advisory Database
•
Updated Jan 9, 2023
Withdrawn
This advisory was withdrawn on Aug 24, 2021
Description
Reviewed
Aug 6, 2021
Withdrawn
Aug 24, 2021
Published to the GitHub Advisory Database
Aug 25, 2021
Last updated
Jan 9, 2023
The
socket2
crate has assumedstd::net::SocketAddrV4
and
std::net::SocketAddrV6
have the same memory layout as the system C representationsockaddr
. It has simply casted the pointers to convert the socket addresses to thesystem representation. The standard library does not say anything about the memory
layout, and this will cause invalid memory access if the standard library
changes the implementation. No warnings or errors will be emitted once the
change happens.
References