From: Greg Ames <gregames@apache.org>
Date: Fri, 6 Jul 2007 19:36:30 +0000 (+0000)
Subject: with LimitRequestBody xxx and the deflate output filter configured, mod_deflate
X-Git-Tag: 2.3.0~1731
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d0fff5d614d926d88feafcf25ceec1de4af7e912;p=apache

with LimitRequestBody xxx and the deflate output filter configured, mod_deflate
eats the 413 error bucket, a 500 error is logged, and a blank screen appears
at the browser.


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

diff --git a/modules/filters/mod_deflate.c b/modules/filters/mod_deflate.c
index 2fd15cba5f..d92144ea00 100644
--- a/modules/filters/mod_deflate.c
+++ b/modules/filters/mod_deflate.c
@@ -44,6 +44,7 @@
 #include "http_request.h"
 #define APR_WANT_STRFUNC
 #include "apr_want.h"
+#include "http_protocol.h"
 
 #include "zlib.h"
 
@@ -578,6 +579,11 @@ static apr_status_t deflate_out_filter(ap_filter_t *f,
             continue;
         }
 
+        if (AP_BUCKET_IS_ERROR(e)) {
+            ap_remove_output_filter(f);
+            return ap_pass_brigade(f->next, bb);
+        }
+
         /* read */
         apr_bucket_read(e, &data, &len, APR_BLOCK_READ);