@@ -62,7 +62,7 @@ pub(crate) unsafe fn read_sockaddr(
62
62
if len < size_of :: < c:: sockaddr_in > ( ) {
63
63
return Err ( io:: Errno :: INVAL ) ;
64
64
}
65
- let decode = * storage. cast :: < c:: sockaddr_in > ( ) ;
65
+ let decode = & * storage. cast :: < c:: sockaddr_in > ( ) ;
66
66
Ok ( SocketAddrAny :: V4 ( SocketAddrV4 :: new (
67
67
Ipv4Addr :: from ( u32:: from_be ( decode. sin_addr . s_addr ) ) ,
68
68
u16:: from_be ( decode. sin_port ) ,
@@ -72,7 +72,7 @@ pub(crate) unsafe fn read_sockaddr(
72
72
if len < size_of :: < c:: sockaddr_in6 > ( ) {
73
73
return Err ( io:: Errno :: INVAL ) ;
74
74
}
75
- let decode = * storage. cast :: < c:: sockaddr_in6 > ( ) ;
75
+ let decode = & * storage. cast :: < c:: sockaddr_in6 > ( ) ;
76
76
Ok ( SocketAddrAny :: V6 ( SocketAddrV6 :: new (
77
77
Ipv6Addr :: from ( decode. sin6_addr . in6_u . u6_addr8 ) ,
78
78
u16:: from_be ( decode. sin6_port ) ,
@@ -87,7 +87,7 @@ pub(crate) unsafe fn read_sockaddr(
87
87
if len == offsetof_sun_path {
88
88
Ok ( SocketAddrAny :: Unix ( SocketAddrUnix :: new ( & [ ] [ ..] ) ?) )
89
89
} else {
90
- let decode = * storage. cast :: < c:: sockaddr_un > ( ) ;
90
+ let decode = & * storage. cast :: < c:: sockaddr_un > ( ) ;
91
91
92
92
// On Linux check for Linux's [abstract namespace].
93
93
//
@@ -138,15 +138,15 @@ pub(crate) unsafe fn read_sockaddr_os(storage: *const c::sockaddr, len: usize) -
138
138
match read_ss_family ( storage) . into ( ) {
139
139
c:: AF_INET => {
140
140
assert ! ( len >= size_of:: <c:: sockaddr_in>( ) ) ;
141
- let decode = * storage. cast :: < c:: sockaddr_in > ( ) ;
141
+ let decode = & * storage. cast :: < c:: sockaddr_in > ( ) ;
142
142
SocketAddrAny :: V4 ( SocketAddrV4 :: new (
143
143
Ipv4Addr :: from ( u32:: from_be ( decode. sin_addr . s_addr ) ) ,
144
144
u16:: from_be ( decode. sin_port ) ,
145
145
) )
146
146
}
147
147
c:: AF_INET6 => {
148
148
assert ! ( len >= size_of:: <c:: sockaddr_in6>( ) ) ;
149
- let decode = * storage. cast :: < c:: sockaddr_in6 > ( ) ;
149
+ let decode = & * storage. cast :: < c:: sockaddr_in6 > ( ) ;
150
150
SocketAddrAny :: V6 ( SocketAddrV6 :: new (
151
151
Ipv6Addr :: from ( decode. sin6_addr . in6_u . u6_addr8 ) ,
152
152
u16:: from_be ( decode. sin6_port ) ,
@@ -159,7 +159,7 @@ pub(crate) unsafe fn read_sockaddr_os(storage: *const c::sockaddr, len: usize) -
159
159
if len == offsetof_sun_path {
160
160
SocketAddrAny :: Unix ( SocketAddrUnix :: new ( & [ ] [ ..] ) . unwrap ( ) )
161
161
} else {
162
- let decode = * storage. cast :: < c:: sockaddr_un > ( ) ;
162
+ let decode = & * storage. cast :: < c:: sockaddr_un > ( ) ;
163
163
164
164
// On Linux check for Linux's [abstract namespace].
165
165
//
0 commit comments