You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
1.2 KiB
22 lines
1.2 KiB
--- a/modules/filters/mod_deflate.c 2014/02/26 15:24:07 1572091 |
|
+++ b/modules/filters/mod_deflate.c 2014/02/26 15:30:25 1572092 |
|
@@ -1125,7 +1125,8 @@ |
|
} |
|
ctx->stream.next_in += 4; |
|
compLen = getLong(ctx->stream.next_in); |
|
- if (ctx->stream.total_out != compLen) { |
|
+ /* gzip stores original size only as 4 byte value */ |
|
+ if ((ctx->stream.total_out & 0xFFFFFFFF) != compLen) { |
|
inflateEnd(&ctx->stream); |
|
ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r, APLOGNO(01395) |
|
"Zlib: Length %ld of inflated data does " |
|
@@ -1322,7 +1323,8 @@ |
|
} |
|
ctx->validation_buffer += VALIDATION_SIZE / 2; |
|
compLen = getLong(ctx->validation_buffer); |
|
- if (ctx->stream.total_out != compLen) { |
|
+ /* gzip stores original size only as 4 byte value */ |
|
+ if ((ctx->stream.total_out & 0xFFFFFFFF) != compLen) { |
|
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01400) |
|
"Zlib: Length of inflated stream invalid"); |
|
return APR_EGENERAL;
|
|
|