Fix: descriptors leak in proxy.c

This commit is contained in:
Vladimir Dubrovin 2026-08-08 21:31:54 +03:00
parent f5ff81d0bc
commit 207ddb7f02

View File

@ -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;
} }