diff options
Diffstat (limited to '')
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | modules/proxy/proxy_util.c | 11 |
2 files changed, 12 insertions, 4 deletions
@@ -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 |