34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From aa86530aec72e5de24227dbe2054cd713fb3d3f5 Mon Sep 17 00:00:00 2001
|
|
From: Joe Orton <jorton@apache.org>
|
|
Date: Wed, 8 May 2024 12:44:52 +0000
|
|
Subject: [PATCH] * modules/proxy/mod_proxy_fcgi.c (dispatch): Only allocate a
|
|
heap buffer if the configured size is greater than the stack-allocated
|
|
buffer.
|
|
|
|
Reference: https://github.com/apache/httpd/commit/aa86530aec72e5de24227dbe2054cd713fb3d3f5
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917576 13f79535-47bb-0310-9956-ffa450edef68
|
|
---
|
|
modules/proxy/mod_proxy_fcgi.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c
|
|
index 831bd15..ee7d24f 100644
|
|
--- a/modules/proxy/mod_proxy_fcgi.c
|
|
+++ b/modules/proxy/mod_proxy_fcgi.c
|
|
@@ -569,7 +569,11 @@ static apr_status_t dispatch(proxy_conn_rec *conn, proxy_dir_conf *conf,
|
|
*err = NULL;
|
|
if (conn->worker->s->io_buffer_size_set) {
|
|
iobuf_size = conn->worker->s->io_buffer_size;
|
|
- iobuf = apr_palloc(r->pool, iobuf_size);
|
|
+ /* Allocate a buffer if the configured size is larger than the
|
|
+ * stack buffer, otherwise use the stack buffer. */
|
|
+ if (iobuf_size > AP_IOBUFSIZE) {
|
|
+ iobuf = apr_palloc(r->pool, iobuf_size);
|
|
+ }
|
|
}
|
|
|
|
pfd.desc_type = APR_POLL_SOCKET;
|
|
--
|
|
2.27.0
|
|
|