fix(netdb): use relibc types in freeaddrinfo fallback

This commit is contained in:
Red Bear OS
2026-07-08 21:29:56 +03:00
parent 277944a91c
commit 0b5d0aca97
+15 -14
View File
@@ -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);