]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Fix endless loop if first bucket is metadata
authorStefan Fritsch <sf@apache.org>
Mon, 1 Aug 2011 21:48:03 +0000 (21:48 +0000)
committerStefan Fritsch <sf@apache.org>
Mon, 1 Aug 2011 21:48:03 +0000 (21:48 +0000)
PR: 51590
Submitted by: Torsten Foertsch <torsten foertsch gmx net>

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

CHANGES
modules/filters/mod_deflate.c

diff --git a/CHANGES b/CHANGES
index 7b0e94695e052e4ac0ab134aa802b4e411ef5772..f489b691ef89408e8e057535e7e0ebf25353d67d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 
 Changes with Apache 2.3.15
 
+  *) mod_deflate: Fix endless loop if first bucket is metadata. PR 51590.
+     [Torsten Foertsch <torsten foertsch gmx net>]
 
 Changes with Apache 2.3.14
 
index 2f186433b755f9ad5b7e9f22483298057ab3b771..60256a1031f3eca04d7f23b624aa15cbb75468c3 100644 (file)
@@ -458,8 +458,10 @@ static apr_status_t deflate_out_filter(ap_filter_t *f,
                 ap_remove_output_filter(f);
                 return ap_pass_brigade(f->next, bb);
             }
-            if (APR_BUCKET_IS_METADATA(e))
+            if (APR_BUCKET_IS_METADATA(e)) {
+                e = APR_BUCKET_NEXT(e);
                 continue;
+            }
 
             rc = apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
             if (rc != APR_SUCCESS)