summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CHANGES5
-rw-r--r--modules/proxy/proxy_util.c11
2 files changed, 12 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index e6dadc3ebf..92e1c4bdf3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,11 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_proxy_{ajp,fcgi}: Fix a possible crash when reusing an established
+ backend connection, happening with LogLevel trace2 or higher configured,
+ or at any log level with compilers not detected as C99 compliant (e.g.
+ MSVC on Windows). [Yann Ylavic]
+
*) mod_ext_filter: Don't interfere with "error buckets" issued by other
modules. PR60375. [Eric Covener, Lubos Uhliarik]
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index 8aec33337d..1f439c7588 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -2754,10 +2754,13 @@ PROXY_DECLARE(apr_status_t) ap_proxy_check_connection(const char *scheme,
}
if (rv == APR_SUCCESS) {
- ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, server,
- "%s: reusing backend connection %pI<>%pI",
- scheme, conn->connection->local_addr,
- conn->connection->client_addr);
+ if (APLOGtrace2(server)) {
+ apr_sockaddr_t *local_addr = NULL;
+ apr_socket_addr_get(&local_addr, APR_LOCAL, conn->sock);
+ ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, server,
+ "%s: reusing backend connection %pI<>%pI",
+ scheme, local_addr, conn->addr);
+ }
}
else if (conn->sock) {
/* This clears conn->scpool (and associated data), so backup and