fastcgi: Fix fastcgi_dump()

This commit is contained in:
2026-01-29 18:18:57 +01:00
parent c36ba8d3a5
commit 2675d267b5
2 changed files with 15 additions and 5 deletions
+11 -2
View File
@@ -416,8 +416,17 @@ int fastcgi_header(fastcgi_cnx_t *cnx, http_res *res, char *err_msg) {
return 0;
}
int fastcgi_dump(fastcgi_cnx_t *cnx, char *buf, long len) {
return sock_recv_x(&cnx->socket, buf, len, 0) == -1 ? -1 : 0;
int fastcgi_dump(fastcgi_cnx_t *cnx, char *buf, const long len) {
for (long ret, rcv = 0; rcv < len; rcv += ret) {
if ((ret = sock_recv_chunk_header(&cnx->out)) == -1) {
return -1;
}
const long min = ret > len - rcv ? len - rcv : ret;
if ((ret = sock_recv_x(&cnx->out, buf + rcv, min, 0)) <= 0) {
return -1;
}
}
return 0;
}
int fastcgi_receive(fastcgi_cnx_t *cnx, sock *client, unsigned long len) {