From e54c1ac110664efd58b7351139da55284f58f2ca Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Thu, 1 Feb 2018 10:29:15 -0500 Subject: [PATCH] net: initialize socket to avoid closing random fd's Github-Pull: #12326 Rebased-From: 96dbd381cf0ded169406bab3b1ba911a13d563c5 Tree-SHA512: 8b4a09974060e6d0992e7b9ec06c5de3ad2daf970c4484077fda803f37d3ed874dcb6fec226107b2aa0fa64cfe4116604ca4f90599430fcc622bbb805be55e1b --- src/net.cpp | 2 +- src/netbase.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 811139074..f407add09 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -410,7 +410,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo // Connect bool connected = false; - SOCKET hSocket; + SOCKET hSocket = INVALID_SOCKET; proxyType proxy; if (addrConnect.IsValid()) { bool proxyConnectionFailed = false; diff --git a/src/netbase.cpp b/src/netbase.cpp index 276b2f4dc..d51277c49 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -682,6 +682,9 @@ bool CloseSocket(SOCKET& hSocket) #else int ret = close(hSocket); #endif + if (ret) { + LogPrintf("Socket close failed: %d. Error: %s\n", hSocket, NetworkErrorString(WSAGetLastError())); + } hSocket = INVALID_SOCKET; return ret != SOCKET_ERROR; }