#4254 changed the logic on getaddrinfo, and there is a flaw in the code. https://github.com/libuv/libuv/blob/v1.x/src/win/getaddrinfo.c#L193 is incorrect.
This assigns addrinfo_ptr to the next pointer in the list, and then assigns the next pointer of that to itself. This is incorrect, as this leaves the first addrinfo_ptr with no ai_next. This causes the first pointer to not have an ai_next, which to upstream consumers looks as through there is only a single address returned.
#4254 changed the logic on getaddrinfo, and there is a flaw in the code. https://github.com/libuv/libuv/blob/v1.x/src/win/getaddrinfo.c#L193 is incorrect.
This assigns
addrinfo_ptrto the next pointer in the list, and then assigns the next pointer of that to itself. This is incorrect, as this leaves the firstaddrinfo_ptrwith noai_next. This causes the first pointer to not have an ai_next, which to upstream consumers looks as through there is only a single address returned.