mirror of
https://github.com/3proxy/3proxy.git
synced 2026-08-13 20:29:15 +08:00
Fix: descriptors leak in proxy.c
This commit is contained in:
parent
f5ff81d0bc
commit
207ddb7f02
10
src/proxy.c
10
src/proxy.c
@ -831,12 +831,20 @@ for(;;){
|
|||||||
send_st(param, 9);
|
send_st(param, 9);
|
||||||
}
|
}
|
||||||
if((unsigned)socksend(param, param->clisock, buf, inbuf, conf.timeouts[STRING_S]) != inbuf){
|
if((unsigned)socksend(param, param->clisock, buf, inbuf, conf.timeouts[STRING_S]) != inbuf){
|
||||||
|
param->srv->so._closesocket(param->sostate, ftps);
|
||||||
|
ftps = INVALID_SOCKET;
|
||||||
|
param->remsock = s;
|
||||||
RETURN(781);
|
RETURN(781);
|
||||||
}
|
}
|
||||||
inbuf = 0;
|
inbuf = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(!(newbuf = realloc(buf, bufsize + BUFSIZE))){RETURN (21);}
|
if(!(newbuf = realloc(buf, bufsize + BUFSIZE))){
|
||||||
|
param->srv->so._closesocket(param->sostate, ftps);
|
||||||
|
ftps = INVALID_SOCKET;
|
||||||
|
param->remsock = s;
|
||||||
|
RETURN (21);
|
||||||
|
}
|
||||||
buf = newbuf;
|
buf = newbuf;
|
||||||
bufsize += BUFSIZE;
|
bufsize += BUFSIZE;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user