-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
seaslug/src/io/io_uring/uring.rs
Lines 610 to 621 in 63d16b8
fn addr2raw(addr: &std::net::SocketAddr) -> (*const libc::sockaddr, libc::socklen_t) { | |
match *addr { | |
std::net::SocketAddr::V4(ref a) => { | |
let b: *const std::net::SocketAddrV4 = a; | |
(b as *const _, std::mem::size_of_val(a) as libc::socklen_t) | |
} | |
std::net::SocketAddr::V6(ref a) => { | |
let b: *const std::net::SocketAddrV6 = a; | |
(b as *const _, std::mem::size_of_val(a) as libc::socklen_t) | |
} | |
} | |
} |
This code assumes that the layout of std::net::SocketAddrV{4,6}
matches libc::sockaddr
, but std makes no such promise. See rust-lang/rust#78802 for more details.
Example fixes: tokio-rs/mio#1388, rust-lang/socket2#120.
spacejam, slanterns, madsmtm, tux3, Kixunil and 4 more
Metadata
Metadata
Assignees
Labels
No labels