Skip to content

Commit 0bd05b5

Browse files
committed
Correct some proxy related socket leaks.
1 parent d20791b commit 0bd05b5

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/netbase.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,10 @@ bool static Socks5(string strDest, int port, SOCKET& hSocket)
293293
case 0x03:
294294
{
295295
ret = recv(hSocket, pchRet3, 1, 0) != 1;
296-
if (ret)
296+
if (ret) {
297+
closesocket(hSocket);
297298
return error("Error reading from proxy");
299+
}
298300
int nRecv = pchRet3[0];
299301
ret = recv(hSocket, pchRet3, nRecv, 0) != nRecv;
300302
break;
@@ -501,6 +503,7 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
501503
return false;
502504
break;
503505
default:
506+
closesocket(hSocket);
504507
return false;
505508
}
506509

@@ -532,7 +535,9 @@ bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest
532535

533536
switch(nameproxy.second) {
534537
default:
535-
case 4: return false;
538+
case 4:
539+
closesocket(hSocket);
540+
return false;
536541
case 5:
537542
if (!Socks5(strDest, port, hSocket))
538543
return false;

0 commit comments

Comments
 (0)