only clear *_out when we are the beginning or avail_out == 0.
Justin was tracking this down before he went to WWDC and didn't finish
before he left. A (virtual) beer goes to Asada who filed this PR with
the right patch!
PR: 9014
Submitted by: kaz@asada.sytes.net (ASADA Kazuhisa)
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95055
13f79535-47bb-0310-9956-
ffa450edef68
Changes with Apache 2.0.37
+ *) Fix mod_deflate corruption when using multiple buckets. PR 9014.
+ [Asada Kazuhisa <kaz@asada.sytes.net>]
+
*) Performance enhancements for access logger when using
default timestamp formatting [Brian Pane]
apr_table_setn(r->headers_out, "Vary", "Accept-Encoding");
apr_table_unset(r->headers_out, "Content-Length");
}
+
+ /* initialize deflate output buffer */
+ ctx->stream.next_out = ctx->buffer;
+ ctx->stream.avail_out = c->bufferSize;
APR_BRIGADE_FOREACH(e, bb) {
const char *data;
* but we'll just have to
* trust zlib */
ctx->stream.avail_in = len;
- ctx->stream.next_out = ctx->buffer;
- ctx->stream.avail_out = c->bufferSize;
while (ctx->stream.avail_in != 0) {
if (ctx->stream.avail_out == 0) {