fix(netdb): use relibc types in freeaddrinfo fallback
This commit is contained in:
+15
-14
@@ -11,19 +11,20 @@ use alloc::{boxed::Box, str::SplitWhitespace, string::ToString, vec::Vec};
|
||||
use crate::{
|
||||
c_str::{CStr, CString},
|
||||
error::ResultExt,
|
||||
header::{
|
||||
arpa_inet::inet_aton,
|
||||
bits_arpainet::{htons, ntohl},
|
||||
bits_safamily_t::sa_family_t,
|
||||
bits_socklen_t::socklen_t,
|
||||
errno::*,
|
||||
fcntl::O_RDONLY,
|
||||
netinet_in::{in_addr, sockaddr_in, sockaddr_in6},
|
||||
stdlib::atoi,
|
||||
strings::strcasecmp,
|
||||
sys_socket::{constants::AF_INET, sockaddr},
|
||||
unistd::SEEK_SET,
|
||||
},
|
||||
header::{
|
||||
arpa_inet::inet_aton,
|
||||
bits_arpainet::{htons, ntohl},
|
||||
bits_safamily_t::sa_family_t,
|
||||
bits_socklen_t::socklen_t,
|
||||
errno::*,
|
||||
fcntl::O_RDONLY,
|
||||
netinet_in::{in_addr, sockaddr_in, sockaddr_in6},
|
||||
stdlib::atoi,
|
||||
strings::strcasecmp,
|
||||
sys_socket::{constants::AF_INET, sockaddr},
|
||||
sys_un::sockaddr_un,
|
||||
unistd::SEEK_SET,
|
||||
},
|
||||
platform::{
|
||||
self, Pal, Sys,
|
||||
rlb::{Line, RawLineBuffer},
|
||||
@@ -1077,7 +1078,7 @@ pub unsafe extern "C" fn freeaddrinfo(res: *mut addrinfo) {
|
||||
// Unknown ai_addrlen — free as raw allocation to avoid leak.
|
||||
let layout = alloc::alloc::Layout::from_size_align(
|
||||
bai.ai_addrlen as usize,
|
||||
mem::align_of::<libc::sa_family_t>(),
|
||||
mem::align_of::<sa_family_t>(),
|
||||
).unwrap_or(alloc::alloc::Layout::new::<u8>());
|
||||
unsafe {
|
||||
alloc::alloc::dealloc(bai.ai_addr.cast::<u8>(), layout);
|
||||
|
||||
Reference in New Issue
Block a user