win: use WSA_FLAG_NO_HANDLE_INHERIT in WSASocketW (#4810)

Resolves a potential race condition when a child process has been
created between WSASocketW() and SendHandleInformationW().
This commit is contained in:
chemodax 2025-06-22 23:26:24 +02:00 committed by GitHub
parent 0d4f54f0f6
commit 5f3c0d3d08
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -211,15 +211,11 @@ static SOCKET uv__fast_poll_create_peer_socket(HANDLE iocp,
protocol_info->iProtocol,
protocol_info,
0,
WSA_FLAG_OVERLAPPED);
WSA_FLAG_OVERLAPPED | WSA_FLAG_NO_HANDLE_INHERIT);
if (sock == INVALID_SOCKET) {
return INVALID_SOCKET;
}
if (!SetHandleInformation((HANDLE) sock, HANDLE_FLAG_INHERIT, 0)) {
goto error;
};
if (CreateIoCompletionPort((HANDLE) sock,
iocp,
(ULONG_PTR) sock,