From: Ruslan Ermilov Date: Mon, 5 Jul 2021 10:09:23 +0000 (+0300) Subject: Use only preallocated memory in ngx_readv_chain() (ticket #1408). X-Git-Tag: release-1.21.1~2 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=b20768e61cd3569160a57e2f0e2e6d0def87792e;p=nginx.git 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. --- 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; }