summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2021-07-05 13:09:23 +0300
committerRuslan Ermilov <ru@nginx.com>2021-07-05 13:09:23 +0300
commitb20768e61cd3569160a57e2f0e2e6d0def87792e (patch)
treefb26ffe1c925aaef7456a7bc292b76ce5da4c8a5
parent07c63a42640e59bf5e3399cfdafd498b61671780 (diff)
downloadnginx-b20768e61cd3569160a57e2f0e2e6d0def87792e.tar.gz
nginx-b20768e61cd3569160a57e2f0e2e6d0def87792e.tar.bz2
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.
-rw-r--r--src/os/unix/ngx_readv_chain.c2
1 files changed, 1 insertions, 1 deletions
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;
}