]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Backport of r357328 from trunk:
authorRuediger Pluem <rpluem@apache.org>
Sun, 18 Dec 2005 11:17:32 +0000 (11:17 +0000)
committerRuediger Pluem <rpluem@apache.org>
Sun, 18 Dec 2005 11:17:32 +0000 (11:17 +0000)
* Fix ap_http_chunk_filter to create correct chunks in the case that a
  flush bucket is pre- and postfixed by data buckets in the brigade.

Submitted by: Ruediger Pluem
Reviewed by: Justin Erenkrantz, Joe Orton, Jim Jagielski

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@357454 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/http/http_core.c

diff --git a/CHANGES b/CHANGES
index 2b9f6881e763d7a22f3e76f584e98141892236bf..0705a2dace88be4c9b764440da1617e9ce4066a0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.0.56
 
+  *) Chunk filter: Fix chunk filter to create correct chunks in the case that
+     a flush bucket is surrounded by data buckets. [Ruediger Pluem]
+
   *) SECURITY: CVE-2005-3352 (cve.mitre.org)
      mod_imap: Escape untrusted referer header before outputting in HTML
      to avoid potential cross-site scripting.  Change also made to
index 74872c82ead144d26fc648c5b8dcd991f6708fff..ce0235ac6bb507833711ed55f396a05843744da5 100644 (file)
@@ -124,6 +124,8 @@ static apr_status_t chunk_filter(ap_filter_t *f, apr_bucket_brigade *b)
             }
             if (APR_BUCKET_IS_FLUSH(e)) {
                 flush = e;
+                more = apr_brigade_split(b, APR_BUCKET_NEXT(e));
+                break;
             }
             else if (e->length == (apr_size_t)-1) {
                 /* unknown amount of data (e.g. a pipe) */