]> granicus.if.org Git - apache/commitdiff
pass along error buckets
authorEric Covener <covener@apache.org>
Thu, 22 Dec 2016 23:04:44 +0000 (23:04 +0000)
committerEric Covener <covener@apache.org>
Thu, 22 Dec 2016 23:04:44 +0000 (23:04 +0000)
In 2.4, they are generated by LimitRequestBody failures. trunk no
longer uses error buckets in this path, but someone else could.

PR60375

Submitted By: Eric Covener,Lubos Uhliarik <luhliari  redhat.com>
Committed By: covener

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1775770 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/filters/mod_ext_filter.c

diff --git a/CHANGES b/CHANGES
index 4eff68ac0758a896b4317b25ad480c0c3bae84b2..e6dadc3ebf6da602823f0aadfb4dd5db4b8a719c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_ext_filter: Don't interfere with "error buckets" issued by other
+     modules. PR60375.  [Eric Covener, Lubos Uhliarik]
+
   *) mod_proxy_fcgi, mod_fcgid: Fix crashes in ap_fcgi_encoded_env_len() when
      modules add empty environment variables to the request. PR60275.
      [<alex2grad AT gmail.com>]
index 9f183f69bca26f307059039a1cebc4a1d6402ea6..7aac19d86e38ba68a7e89806b5d376f852eb4513 100644 (file)
@@ -757,6 +757,13 @@ static int ef_unified_filter(ap_filter_t *f, apr_bucket_brigade *bb)
             break;
         }
 
+        if (AP_BUCKET_IS_ERROR(b)) {
+            apr_bucket *cpy;
+            apr_bucket_copy(b, &cpy);
+            APR_BRIGADE_INSERT_TAIL(bb_tmp, cpy);
+            break;
+        }
+
         rv = apr_bucket_read(b, &data, &len, APR_BLOCK_READ);
         if (rv != APR_SUCCESS) {
             ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01463) "apr_bucket_read()");