@@ -155,7 +155,6 @@ impl SockAddr {
155155 let ip_bytes = unsafe { addr. sin_addr . S_un . S_un_b ( ) } ;
156156 Ipv4Addr :: from ( [ ip_bytes. s_b1 , ip_bytes. s_b2 , ip_bytes. s_b3 , ip_bytes. s_b4 ] )
157157 } ;
158-
159158 let port = u16:: from_be ( addr. sin_port ) ;
160159 Some ( SocketAddr :: V4 ( SocketAddrV4 :: new ( ip, port) ) )
161160 } else if self . storage . ss_family == AF_INET6 as sa_family_t {
@@ -165,7 +164,6 @@ impl SockAddr {
165164 let ip = Ipv6Addr :: from ( addr. sin6_addr . s6_addr ) ;
166165 #[ cfg( windows) ]
167166 let ip = Ipv6Addr :: from ( * unsafe { addr. sin6_addr . u . Byte ( ) } ) ;
168-
169167 let port = u16:: from_be ( addr. sin6_port ) ;
170168 Some ( SocketAddr :: V6 ( SocketAddrV6 :: new (
171169 ip,
@@ -201,9 +199,6 @@ impl SockAddr {
201199
202200impl From < SocketAddrV4 > for SockAddr {
203201 fn from ( addr : SocketAddrV4 ) -> SockAddr {
204- let mut storage = MaybeUninit :: < sockaddr_storage > :: uninit ( ) ;
205- let sockaddr_in = unsafe { & mut * ( storage. as_mut_ptr ( ) as * mut sockaddr_in ) } ;
206-
207202 #[ cfg( unix) ]
208203 let sin_addr = in_addr {
209204 s_addr : u32:: from_ne_bytes ( addr. ip ( ) . octets ( ) ) ,
@@ -214,6 +209,9 @@ impl From<SocketAddrV4> for SockAddr {
214209 * s_un. S_addr_mut ( ) = u32:: from_ne_bytes ( addr. ip ( ) . octets ( ) ) ;
215210 in_addr { S_un : s_un }
216211 } ;
212+
213+ let mut storage = MaybeUninit :: < sockaddr_storage > :: uninit ( ) ;
214+ let sockaddr_in = unsafe { & mut * ( storage. as_mut_ptr ( ) as * mut sockaddr_in ) } ;
217215 * sockaddr_in = sockaddr_in {
218216 sin_family : AF_INET as sa_family_t ,
219217 sin_port : addr. port ( ) . to_be ( ) ,
@@ -229,9 +227,6 @@ impl From<SocketAddrV4> for SockAddr {
229227
230228impl From < SocketAddrV6 > for SockAddr {
231229 fn from ( addr : SocketAddrV6 ) -> SockAddr {
232- let mut storage = MaybeUninit :: < sockaddr_storage > :: uninit ( ) ;
233- let sockaddr_in6 = unsafe { & mut * ( storage. as_mut_ptr ( ) as * mut sockaddr_in6 ) } ;
234-
235230 #[ cfg( unix) ]
236231 let sin6_addr = in6_addr {
237232 s6_addr : addr. ip ( ) . octets ( ) ,
@@ -248,6 +243,9 @@ impl From<SocketAddrV6> for SockAddr {
248243 * u. sin6_scope_id_mut ( ) = addr. scope_id ( ) ;
249244 u
250245 } ;
246+
247+ let mut storage = MaybeUninit :: < sockaddr_storage > :: uninit ( ) ;
248+ let sockaddr_in6 = unsafe { & mut * ( storage. as_mut_ptr ( ) as * mut sockaddr_in6 ) } ;
251249 * sockaddr_in6 = sockaddr_in6 {
252250 sin6_family : AF_INET6 as sa_family_t ,
253251 sin6_port : addr. port ( ) . to_be ( ) ,
0 commit comments