]> git.kaiwu.me - nginx.git/commitdiff
fix large memory allocation in "error_page 495-497 /uri"
authorIgor Sysoev <igor@sysoev.ru>
Mon, 10 Mar 2008 14:45:41 +0000 (14:45 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Mon, 10 Mar 2008 14:45:41 +0000 (14:45 +0000)
src/http/ngx_http_core_module.c

index 7f82d065d34ba297de404fe57a2626c82470614e..08c1d352bd0ca08b7856bf3de9bf3871d69da2b6 100644 (file)
@@ -3559,7 +3559,22 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
             return NGX_CONF_ERROR;
         }
 
-        err->overwrite = (overwrite >= 0) ? overwrite : err->status;
+        if (overwrite >= 0) {
+            err->overwrite = overwrite;
+
+        } else {
+            switch (err->status) {
+                case NGX_HTTP_TO_HTTPS:
+                case NGX_HTTPS_CERT_ERROR:
+                case NGX_HTTPS_NO_CERT:
+                    err->overwrite = NGX_HTTP_BAD_REQUEST;
+                    break;
+
+                default:
+                    err->overwrite = err->status;
+                    break;
+            }
+        }
 
         err->uri = uri;
         err->uri_lengths = uri_lengths;