From c2b20a1eac8fb8ca2034b4ef6e5b4fdbccb19b88 Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Mon, 9 Jan 2017 14:47:40 +0000 Subject: [PATCH] Merge r1775775 from trunk: 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). Submitted by: ylavic Reviewed by: ylavic, jim, covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1777975 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 5 +++++ STATUS | 7 ------- modules/proxy/proxy_util.c | 11 +++++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGES b/CHANGES index 8fc388bccc9..b109fe1c120 100644 --- a/CHANGES +++ b/CHANGES @@ -16,6 +16,11 @@ Changes with Apache 2.4.26 *) mod_http2: cleanup beamer registry on server reload, Fixes PR60510. [Pavel Mateja , Stefan Eissing] + *) 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/STATUS b/STATUS index 0cfbffe81a5..20fd38ebb63 100644 --- a/STATUS +++ b/STATUS @@ -119,13 +119,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - *) 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). - trunk patch: http://svn.apache.org/r1775775 - 2.4 patch: trunk works (modulo CHANGES) - +1: ylavic, jim, covener PATCHES PROPOSED TO BACKPORT FROM TRUNK: diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 6444b6899e3..663c3af57ad 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -2693,10 +2693,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 -- 2.47.2