Skip to content

Commit 2f25931

Browse files
authored
NameResolutionPal.Unix: fixed loss of address family information in async lookup (#47171)
* Removed dead code from SystemNative_GetHostEntryForNameAsync * Fixed loss of address-family
1 parent d0b10ed commit 2f25931

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

src/libraries/Native/Unix/System.Native/pal_networking.c

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -601,12 +601,6 @@ int32_t SystemNative_GetHostEntryForNameAsync(const uint8_t* address, int32_t ad
601601
return GetAddrInfoErrorFlags_EAI_BADARG;
602602
}
603603

604-
sa_family_t platformFamily;
605-
if (!TryConvertAddressFamilyPalToPlatform(addressFamily, &platformFamily))
606-
{
607-
return GetAddrInfoErrorFlags_EAI_FAMILY;
608-
}
609-
610604
struct GetAddrInfoAsyncState* state = malloc(sizeof(*state) + addrlen + 1);
611605

612606
if (state == NULL)
@@ -622,24 +616,22 @@ int32_t SystemNative_GetHostEntryForNameAsync(const uint8_t* address, int32_t ad
622616

623617
memcpy(state->address, address, addrlen + 1);
624618

625-
*state = (struct GetAddrInfoAsyncState) {
626-
.gai_request = {
627-
.ar_name = state->address,
628-
.ar_service = NULL,
629-
.ar_request = &state->hint,
630-
.ar_result = NULL
631-
},
632-
.gai_requests = &state->gai_request,
633-
.sigevent = {
634-
.sigev_notify = SIGEV_THREAD,
635-
.sigev_value = {
636-
.sival_ptr = state
637-
},
638-
.sigev_notify_function = GetHostEntryForNameAsyncComplete
619+
state->gai_request = (struct gaicb) {
620+
.ar_name = state->address,
621+
.ar_service = NULL,
622+
.ar_request = &state->hint,
623+
.ar_result = NULL
624+
};
625+
state->gai_requests = &state->gai_request;
626+
state->sigevent = (struct sigevent) {
627+
.sigev_notify = SIGEV_THREAD,
628+
.sigev_value = {
629+
.sival_ptr = state
639630
},
640-
.entry = entry,
641-
.callback = callback
631+
.sigev_notify_function = GetHostEntryForNameAsyncComplete
642632
};
633+
state->entry = entry;
634+
state->callback = callback;
643635

644636
atomic_thread_fence(memory_order_release);
645637

0 commit comments

Comments
 (0)