Mercurial > hg > nginx-quic
diff src/http/ngx_http_script.c @ 535:563ad09abf50 release-0.1.42
nginx-0.1.42-RELEASE import
*) Bugfix: if the request URI had a zero length after the processing in
the ngx_http_proxy_module, then the segmentation fault or bus error
occurred in the ngx_http_proxy_module.
*) Bugfix: the "limit_rate" directive did not work inside the "if"
block; the bug had appeared in 0.1.38.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 23 Aug 2005 15:36:54 +0000 |
parents | 7fa11e5c6e96 |
children | 45033d85b30e |
line wrap: on
line diff
--- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -687,6 +687,14 @@ ngx_http_script_regex_end_code(ngx_http_ if (code->uri) { r->uri = e->buf; + if (r->uri.len == 0) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, + "the rewritten URI has a zero length"); + e->ip = ngx_http_script_exit; + e->status = NGX_HTTP_INTERNAL_SERVER_ERROR; + return; + } + if (ngx_http_set_exten(r) != NGX_OK) { e->ip = ngx_http_script_exit; e->status = NGX_HTTP_INTERNAL_SERVER_ERROR; @@ -737,6 +745,7 @@ ngx_http_script_if_code(ngx_http_script_ if (e->sp->value) { if (code->loc_conf) { e->request->loc_conf = code->loc_conf; + ngx_http_update_location_config(e->request); } e->ip += sizeof(ngx_http_script_if_code_t);