comparison src/http/modules/ngx_http_rewrite_module.c @ 7606:db8df9cd84c8

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.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 16 Dec 2019 15:19:01 +0300
parents b64adc956643
children
comparison
equal deleted inserted replaced
7605:02a539522be4 7606:db8df9cd84c8
316 316
317 ngx_memzero(regex, sizeof(ngx_http_script_regex_code_t)); 317 ngx_memzero(regex, sizeof(ngx_http_script_regex_code_t));
318 318
319 value = cf->args->elts; 319 value = cf->args->elts;
320 320
321 if (value[2].len == 0) {
322 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "empty replacement");
323 return NGX_CONF_ERROR;
324 }
325
321 ngx_memzero(&rc, sizeof(ngx_regex_compile_t)); 326 ngx_memzero(&rc, sizeof(ngx_regex_compile_t));
322 327
323 rc.pattern = value[1]; 328 rc.pattern = value[1];
324 rc.err.len = NGX_MAX_CONF_ERRSTR; 329 rc.err.len = NGX_MAX_CONF_ERRSTR;
325 rc.err.data = errstr; 330 rc.err.data = errstr;