Mailing List Archive

[Bug 9014] New: - mod_deflate generates corrupted result at large data.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9014>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9014

mod_deflate generates corrupted result at large data.

Summary: mod_deflate generates corrupted result at large data.
Product: Apache httpd-2.0
Version: HEAD
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Normal
Priority: Other
Component: mod_deflate
AssignedTo: bugs@httpd.apache.org
ReportedBy: kaz@asada.sytes.net


mod_deflate module generates corrupted result with large data (over 200kbytes).
deflate_out_filter deflate input buckets into output bucket, but output buffer
information reset every input bucket, it means waste partial deflated data at
process next input bucket.
Output buffer must initialize before BRIGADE_FOREACH loop.

--- mod_deflate.c.org Tue May 7 09:35:16 2002
+++ mod_deflate.c Mon May 13 00:32:18 2002
@@ -328,4 +328,8 @@
}

+ /* initialize deflate output buffer */
+ ctx->stream.next_out = ctx->buffer;
+ ctx->stream.avail_out = c->bufferSize;
+
APR_BRIGADE_FOREACH(e, bb) {
const char *data;
@@ -437,6 +441,4 @@
* 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) {

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org