diff options
| author | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-02-11 15:39:44 +0100 |
|---|---|---|
| committer | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-02-25 13:37:38 +0100 |
| commit | f972cb95fbb143bfbb7334d1762b48591bede591 (patch) | |
| tree | 6aa5e5eeba135eb2dd6187f86ebdedc3c3174bf2 | |
| parent | 403391fbb3665654a898a08aa6db5ef02714532d (diff) | |
| download | mullvadvpn-f972cb95fbb143bfbb7334d1762b48591bede591.tar.xz mullvadvpn-f972cb95fbb143bfbb7334d1762b48591bede591.zip | |
Add some safety comments in talpid_windows::net
| -rw-r--r-- | talpid-windows/src/net.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/talpid-windows/src/net.rs b/talpid-windows/src/net.rs index c744114a3a..5013f21e2d 100644 --- a/talpid-windows/src/net.rs +++ b/talpid-windows/src/net.rs @@ -426,6 +426,7 @@ pub fn ipaddr_from_in6addr(addr: IN6_ADDR) -> Ipv6Addr { /// Converts a `SocketAddr` to `SOCKADDR_INET` pub fn inet_sockaddr_from_socketaddr(addr: SocketAddr) -> SOCKADDR_INET { + // SAFETY: SOCKADDR_INET is a union of C structs, these can be safely zeroed. let mut sockaddr: SOCKADDR_INET = unsafe { mem::zeroed() }; match addr { // SAFETY: `*const sockaddr` may be treated as `*const sockaddr_in` since we know it's a v4 @@ -444,6 +445,7 @@ pub fn inet_sockaddr_from_socketaddr(addr: SocketAddr) -> SOCKADDR_INET { /// Converts a `SOCKADDR_INET` to `SocketAddr`. Returns an error if the address family is invalid. pub fn try_socketaddr_from_inet_sockaddr(addr: SOCKADDR_INET) -> Result<SocketAddr> { + // SAFETY: si_family is always valid let family = unsafe { addr.si_family }; unsafe { let mut storage: sockaddr_storage = mem::zeroed(); |
