Correct some proxy related socket leaks.
This commit is contained in:
parent
d20791b0e5
commit
0bd05b53b1
1 changed files with 7 additions and 2 deletions
|
@ -293,8 +293,10 @@ bool static Socks5(string strDest, int port, SOCKET& hSocket)
|
|||
case 0x03:
|
||||
{
|
||||
ret = recv(hSocket, pchRet3, 1, 0) != 1;
|
||||
if (ret)
|
||||
if (ret) {
|
||||
closesocket(hSocket);
|
||||
return error("Error reading from proxy");
|
||||
}
|
||||
int nRecv = pchRet3[0];
|
||||
ret = recv(hSocket, pchRet3, nRecv, 0) != nRecv;
|
||||
break;
|
||||
|
@ -501,6 +503,7 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
|
|||
return false;
|
||||
break;
|
||||
default:
|
||||
closesocket(hSocket);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -532,7 +535,9 @@ bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest
|
|||
|
||||
switch(nameproxy.second) {
|
||||
default:
|
||||
case 4: return false;
|
||||
case 4:
|
||||
closesocket(hSocket);
|
||||
return false;
|
||||
case 5:
|
||||
if (!Socks5(strDest, port, hSocket))
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue