You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2016/12/12 19:44:20 UTC

svn commit: r1773862 - /httpd/httpd/trunk/modules/http/http_filters.c

Author: ylavic
Date: Mon Dec 12 19:44:20 2016
New Revision: 1773862

URL: http://svn.apache.org/viewvc?rev=1773862&view=rev
Log:
Follow up to r1773761: we need to check both ap_send_error_response() and internal redirect recursions.

Modified:
    httpd/httpd/trunk/modules/http/http_filters.c

Modified: httpd/httpd/trunk/modules/http/http_filters.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_filters.c?rev=1773862&r1=1773861&r2=1773862&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http/http_filters.c (original)
+++ httpd/httpd/trunk/modules/http/http_filters.c Mon Dec 12 19:44:20 2016
@@ -1249,11 +1249,11 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_
         apr_table_clear(r->headers_out);
         apr_table_clear(r->err_headers_out);
 
-        /* Don't try ErrorDocument if we are (internal-)redirect-ed already,
-         * otherwise we can end up in infinite recursion, better fall through
-         * with 500, minimal headers and an empty body (EOS only).
+        /* Don't try ErrorDocument if we are (internal-)redirect-ed or dying
+         * already, otherwise we can end up in infinite recursion, better fall
+         * through with 500, minimal headers and an empty body (EOS only).
          */
-        if (!dying) {
+        if (ap_is_initial_req(r) && !dying) {
             apr_brigade_cleanup(b);
             apr_pool_userdata_setn("true", "http_header_filter_dying",
                                    apr_pool_cleanup_null, r->pool);