# HG changeset patch # User Ruslan Ermilov # Date 1576498741 -10800 # Node ID db8df9cd84c8d5283b000c6b60775d4f435fb31e # Parent 02a539522be41da09e790e64decabd4e78d5b48f Rewrite: disallow empty replacements. While empty replacements were caught at run-time, parsing code of the "rewrite" directive expects that a minimum length of the "replacement" argument is 1. diff --git a/src/http/modules/ngx_http_rewrite_module.c b/src/http/modules/ngx_http_rewrite_module.c --- a/src/http/modules/ngx_http_rewrite_module.c +++ b/src/http/modules/ngx_http_rewrite_module.c @@ -318,6 +318,11 @@ ngx_http_rewrite(ngx_conf_t *cf, ngx_com value = cf->args->elts; + if (value[2].len == 0) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "empty replacement"); + return NGX_CONF_ERROR; + } + ngx_memzero(&rc, sizeof(ngx_regex_compile_t)); rc.pattern = value[1];