comparison src/http/modules/ngx_http_map_module.c @ 684:660139fd80ca NGINX_1_3_5

nginx 1.3.5 *) Change: the ngx_http_mp4_module module no longer skips tracks in formats other than H.264 and AAC. *) Bugfix: a segmentation fault might occur in a worker process if the "map" directive was used with variables as values. *) Bugfix: a segmentation fault might occur in a worker process if the "geo" directive was used with the "ranges" parameter but without the "default" parameter; the bug had appeared in 0.8.43. Thanks to Zhen Chen and Weibin Yao. *) Bugfix: in the -p command-line parameter handling. *) Bugfix: in the mail proxy server. *) Bugfix: of minor potential bugs. Thanks to Coverity. *) Bugfix: nginx/Windows could not be built with Visual Studio 2005 Express. Thanks to HAYASHI Kentaro.
author Igor Sysoev <http://sysoev.ru>
date Tue, 21 Aug 2012 00:00:00 +0400
parents 597573166f34
children 2e8a942c8872
comparison
equal deleted inserted replaced
683:28cc2a208803 684:660139fd80ca
414 414
415 var = ctx->var_values.elts; 415 var = ctx->var_values.elts;
416 416
417 for (i = 0; i < ctx->var_values.nelts; i++) { 417 for (i = 0; i < ctx->var_values.nelts; i++) {
418 if (index == (ngx_int_t) var[i].data) { 418 if (index == (ngx_int_t) var[i].data) {
419 var = &var[i];
419 goto found; 420 goto found;
420 } 421 }
421 } 422 }
422 423
423 var = ngx_palloc(ctx->keys.pool, sizeof(ngx_http_variable_value_t)); 424 var = ngx_array_push(&ctx->var_values);
424 if (var == NULL) { 425 if (var == NULL) {
425 return NGX_CONF_ERROR; 426 return NGX_CONF_ERROR;
426 } 427 }
427 428
428 var->valid = 0; 429 var->valid = 0;
429 var->no_cacheable = 0; 430 var->no_cacheable = 0;
430 var->not_found = 0; 431 var->not_found = 0;
431 var->len = 0; 432 var->len = 0;
432 var->data = (u_char *) index; 433 var->data = (u_char *) index;
433 434
434 vp = ngx_array_push(&ctx->var_values);
435 if (vp == NULL) {
436 return NGX_CONF_ERROR;
437 }
438
439 *vp = var;
440
441 goto found; 435 goto found;
442 } 436 }
443 437
444 key = 0; 438 key = 0;
445 439