Mercurial > hg > nginx-quic
comparison src/http/ngx_http_variables.c @ 4972:8b635cf36ccc
Added checks that disallow adding a variable with an empty name.
Added variable name syntax checks to "geo" and "map" directives.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Mon, 17 Dec 2012 19:03:33 +0000 |
parents | ec7d97006a30 |
children | 829cc5872186 |
comparison
equal
deleted
inserted
replaced
4971:eaf95350d75c | 4972:8b635cf36ccc |
---|---|
328 ngx_uint_t i; | 328 ngx_uint_t i; |
329 ngx_hash_key_t *key; | 329 ngx_hash_key_t *key; |
330 ngx_http_variable_t *v; | 330 ngx_http_variable_t *v; |
331 ngx_http_core_main_conf_t *cmcf; | 331 ngx_http_core_main_conf_t *cmcf; |
332 | 332 |
333 if (name->len == 0) { | |
334 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, | |
335 "invalid variable name \"$\""); | |
336 return NULL; | |
337 } | |
338 | |
333 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); | 339 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); |
334 | 340 |
335 key = cmcf->variables_keys->keys.elts; | 341 key = cmcf->variables_keys->keys.elts; |
336 for (i = 0; i < cmcf->variables_keys->keys.nelts; i++) { | 342 for (i = 0; i < cmcf->variables_keys->keys.nelts; i++) { |
337 if (name->len != key[i].key.len | 343 if (name->len != key[i].key.len |
390 ngx_http_get_variable_index(ngx_conf_t *cf, ngx_str_t *name) | 396 ngx_http_get_variable_index(ngx_conf_t *cf, ngx_str_t *name) |
391 { | 397 { |
392 ngx_uint_t i; | 398 ngx_uint_t i; |
393 ngx_http_variable_t *v; | 399 ngx_http_variable_t *v; |
394 ngx_http_core_main_conf_t *cmcf; | 400 ngx_http_core_main_conf_t *cmcf; |
401 | |
402 if (name->len == 0) { | |
403 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, | |
404 "invalid variable name \"$\""); | |
405 return NGX_ERROR; | |
406 } | |
395 | 407 |
396 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); | 408 cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); |
397 | 409 |
398 v = cmcf->variables.elts; | 410 v = cmcf->variables.elts; |
399 | 411 |