From 2f178b001ea35424f3bf99dce71d51da989ff5cf Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Sun, 18 Dec 2005 11:21:05 +0000 Subject: [PATCH] Merge r357328 from trunk: * 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.2.x@357456 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ modules/http/chunk_filter.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index 883c4d49197..f4d8f6c0b95 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.1 + *) 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_imagemap: Escape untrusted referer header before outputting in HTML to avoid potential cross-site scripting. Change also diff --git a/modules/http/chunk_filter.c b/modules/http/chunk_filter.c index 42e464e2e87..71f4662fe4c 100644 --- a/modules/http/chunk_filter.c +++ b/modules/http/chunk_filter.c @@ -69,6 +69,8 @@ apr_status_t ap_http_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) */ -- 2.47.2