From b20768e61cd3569160a57e2f0e2e6d0def87792e Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Mon, 5 Jul 2021 13:09:23 +0300 Subject: Use only preallocated memory in ngx_readv_chain() (ticket #1408). In d1bde5c3c5d2, the number of preallocated iovec's for ngx_readv_chain() was increased. Still, in some setups, the function might allocate memory for iovec's from a connection pool, which is only freed when closing the connection. The ngx_readv_chain() function was modified to use only preallocated memory, similarly to the ngx_writev_chain() change in 8e903522c17a. --- src/os/unix/ngx_readv_chain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/unix/ngx_readv_chain.c b/src/os/unix/ngx_readv_chain.c index a3577ce19..b1ae4b51d 100644 --- a/src/os/unix/ngx_readv_chain.c +++ b/src/os/unix/ngx_readv_chain.c @@ -96,7 +96,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain, off_t limit) iov->iov_len += n; } else { - if (vec.nelts >= IOV_MAX) { + if (vec.nelts == vec.nalloc) { break; } -- cgit