changeset 4965:58dfef910ccd

Gzip: fixed zlib memLevel adjusting. An incorrect memLevel (lower than 1) might be passed to deflateInit2() if the "gzip_hash" directive is set to a value less than the value of "gzip_window" directive. This resulted in "deflateInit2() failed: -2" alert and an empty reply.
author Valentin Bartenev <vbart@nginx.com>
date Fri, 14 Dec 2012 15:17:58 +0000
parents 2464ccebdb52
children c821975c9068
files src/http/modules/ngx_http_gzip_filter_module.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_gzip_filter_module.c
+++ b/src/http/modules/ngx_http_gzip_filter_module.c
@@ -498,6 +498,10 @@ ngx_http_gzip_filter_memory(ngx_http_req
             wbits--;
             memlevel--;
         }
+
+        if (memlevel < 1) {
+            memlevel = 1;
+        }
     }
 
     ctx->wbits = wbits;