@@ -89,7 +89,7 @@ impl SctpAddrType {
89
89
90
90
91
91
/// Manage low level socket address structure
92
- pub trait RawSocketAddr {
92
+ pub trait RawSocketAddr : Sized {
93
93
/// Get the address family for this socket address
94
94
fn family ( & self ) -> i32 ;
95
95
@@ -131,7 +131,7 @@ impl RawSocketAddr for SocketAddr {
131
131
return match ( * addr) . sa_family as libc:: c_int {
132
132
libc:: AF_INET if len >= size_of :: < libc:: sockaddr_in > ( ) as libc:: socklen_t => Ok ( SocketAddr :: V4 ( transmute ( * ( addr as * const libc:: sockaddr_in ) ) ) ) ,
133
133
libc:: AF_INET6 if len >= size_of :: < libc:: sockaddr_in6 > ( ) as libc:: socklen_t => Ok ( SocketAddr :: V6 ( transmute ( * ( addr as * const libc:: sockaddr_in6 ) ) ) ) ,
134
- _ => Err ( Error :: new ( ErrorKind :: InvalidInput , "Cannot get peer socket address" ) )
134
+ _ => Err ( Error :: new ( ErrorKind :: InvalidInput , "Invalid socket address" ) )
135
135
} ;
136
136
}
137
137
@@ -182,7 +182,7 @@ impl SctpSocket {
182
182
pub fn connectx < A : ToSocketAddrs > ( & self , addresses : & [ A ] ) -> Result < sctp_sys:: sctp_assoc_t > {
183
183
if addresses. len ( ) == 0 { return Err ( Error :: new ( ErrorKind :: InvalidInput , "No addresses given" ) ) ; }
184
184
unsafe {
185
- let buf: * mut u8 = libc:: malloc ( ( addresses. len ( ) * size_of :: < libc:: sockaddr_in6 > ( ) ) as u64 ) as * mut u8 ;
185
+ let buf: * mut u8 = libc:: malloc ( ( addresses. len ( ) * size_of :: < libc:: sockaddr_in6 > ( ) ) as libc :: size_t ) as * mut u8 ;
186
186
if buf. is_null ( ) {
187
187
return Err ( Error :: new ( ErrorKind :: Other , "Out of memory" ) ) ;
188
188
}
@@ -219,7 +219,7 @@ impl SctpSocket {
219
219
pub fn bindx < A : ToSocketAddrs > ( & self , addresses : & [ A ] , op : BindOp ) -> Result < ( ) > {
220
220
if addresses. len ( ) == 0 { return Err ( Error :: new ( ErrorKind :: InvalidInput , "No addresses given" ) ) ; }
221
221
unsafe {
222
- let buf: * mut u8 = libc:: malloc ( ( addresses. len ( ) * size_of :: < libc:: sockaddr_in6 > ( ) ) as u64 ) as * mut u8 ;
222
+ let buf: * mut u8 = libc:: malloc ( ( addresses. len ( ) * size_of :: < libc:: sockaddr_in6 > ( ) ) as libc :: size_t ) as * mut u8 ;
223
223
if buf. is_null ( ) {
224
224
return Err ( Error :: new ( ErrorKind :: Other , "Out of memory" ) ) ;
225
225
}
@@ -266,7 +266,7 @@ impl SctpSocket {
266
266
unsafe {
267
267
let mut addrs: * mut u8 = std:: ptr:: null_mut ( ) ;
268
268
let len = what. get ( self . 0 , id, transmute ( & mut addrs) ) ;
269
- if len < 0 { return Err ( Error :: new ( ErrorKind :: Other , "Cannot retrieve local addresses" ) ) ; }
269
+ if len < 0 { return Err ( Error :: new ( ErrorKind :: Other , "Cannot retrieve addresses" ) ) ; }
270
270
if len == 0 { return Err ( Error :: new ( ErrorKind :: AddrNotAvailable , "Socket is unbound" ) ) ; }
271
271
272
272
let mut vec = Vec :: with_capacity ( len as usize ) ;
0 commit comments