comparison src/http/ngx_http_upstream_round_robin.c @ 670:ad45b044f1e5 NGINX_1_1_19

nginx 1.1.19 *) Security: specially crafted mp4 file might allow to overwrite memory locations in a worker process if the ngx_http_mp4_module was used, potentially resulting in arbitrary code execution (CVE-2012-2089). Thanks to Matthew Daley. *) Bugfix: nginx/Windows might be terminated abnormally. Thanks to Vincent Lee. *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as "backup". *) Bugfix: the "allow" and "deny" directives might be inherited incorrectly if they were used with IPv6 addresses. *) Bugfix: the "modern_browser" and "ancient_browser" directives might be inherited incorrectly. *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC. *) Bugfix: in the ngx_http_mp4_module.
author Igor Sysoev <http://sysoev.ru>
date Thu, 12 Apr 2012 00:00:00 +0400
parents d0f7a625f27c
children 4dcaf40cc702
comparison
equal deleted inserted replaced
669:3f5d0be5ee74 670:ad45b044f1e5
45 if (server[i].backup) { 45 if (server[i].backup) {
46 continue; 46 continue;
47 } 47 }
48 48
49 n += server[i].naddrs; 49 n += server[i].naddrs;
50 }
51
52 if (n == 0) {
53 ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
54 "no servers in upstream \"%V\" in %s:%ui",
55 &us->host, us->file_name, us->line);
56 return NGX_ERROR;
50 } 57 }
51 58
52 peers = ngx_pcalloc(cf->pool, sizeof(ngx_http_upstream_rr_peers_t) 59 peers = ngx_pcalloc(cf->pool, sizeof(ngx_http_upstream_rr_peers_t)
53 + sizeof(ngx_http_upstream_rr_peer_t) * (n - 1)); 60 + sizeof(ngx_http_upstream_rr_peer_t) * (n - 1));
54 if (peers == NULL) { 61 if (peers == NULL) {