summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJoakim Hulthe <joakim.hulthe@mullvad.net>2025-02-11 15:39:44 +0100
committerJoakim Hulthe <joakim.hulthe@mullvad.net>2025-02-25 13:37:38 +0100
commitf972cb95fbb143bfbb7334d1762b48591bede591 (patch)
tree6aa5e5eeba135eb2dd6187f86ebdedc3c3174bf2
parent403391fbb3665654a898a08aa6db5ef02714532d (diff)
downloadmullvadvpn-f972cb95fbb143bfbb7334d1762b48591bede591.tar.xz
mullvadvpn-f972cb95fbb143bfbb7334d1762b48591bede591.zip
Add some safety comments in talpid_windows::net
-rw-r--r--talpid-windows/src/net.rs2
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();