From 9e3b2f576bb368a0857e808dcbd24b2dcb8bef2d Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 2 Oct 2017 14:18:32 -0400 Subject: net: Move IsSelectableSocket check into socket creation We use select in ConnectSocketDirectly, so this check needs to happen before that. IsSelectableSocket will not be relevant after upcoming changes to remove select. --- src/netbase.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/netbase.cpp') diff --git a/src/netbase.cpp b/src/netbase.cpp index 9b63d6034..1635957b7 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -465,6 +465,12 @@ SOCKET CreateSocket(const CService &addrConnect) if (hSocket == INVALID_SOCKET) return INVALID_SOCKET; + if (!IsSelectableSocket(hSocket)) { + CloseSocket(hSocket); + LogPrintf("Cannot create connection: non-selectable socket created (fd >= FD_SETSIZE ?)\n"); + return INVALID_SOCKET; + } + #ifdef SO_NOSIGPIPE int set = 1; // Different way of disabling SIGPIPE on BSD -- cgit v1.2.3