From f24503e0a0276111b82c298b55acd35b72955ea2 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 16 Sep 2014 13:07:22 -0700 Subject: [PATCH] net: Fix some valgrind annoyances According to valgrind these bytes are always uninitialized, which I don't understand because the memory is always allocated with mem::zeroed(), but just to be safe set sin6_flowinfo to 0 unconditionally. --- src/libnative/io/net.rs | 1 + src/librustuv/net.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libnative/io/net.rs b/src/libnative/io/net.rs index ba951cdef26b9..b7c36a36a5ec0 100644 --- a/src/libnative/io/net.rs +++ b/src/libnative/io/net.rs @@ -86,6 +86,7 @@ fn addr_to_sockaddr(addr: rtio::SocketAddr, (*storage).sin6_family = libc::AF_INET6 as libc::sa_family_t; (*storage).sin6_port = htons(addr.port); (*storage).sin6_addr = inaddr; + (*storage).sin6_flowinfo = 0; mem::size_of::() } }; diff --git a/src/librustuv/net.rs b/src/librustuv/net.rs index 09d008a9fa904..6fed5416b3032 100644 --- a/src/librustuv/net.rs +++ b/src/librustuv/net.rs @@ -98,6 +98,7 @@ fn addr_to_sockaddr(addr: rtio::SocketAddr, let storage = storage as *mut _ as *mut libc::sockaddr_in6; (*storage).sin6_family = libc::AF_INET6 as libc::sa_family_t; (*storage).sin6_port = htons(addr.port); + (*storage).sin6_flowinfo = 0; (*storage).sin6_addr = libc::in6_addr { s6_addr: [ htons(a),