Mercurial > hg > nginx
changeset 4998:82336a9ce26d
Upstream keepalive: detect duplicate "keepalive" directive.
A failure to detect duplicate "keepalive" directive resulted in
stack exhaustion.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Wed, 26 Dec 2012 14:46:06 +0000 |
parents | 5d1d3b2acb1d |
children | 3f776d65c5b9 |
files | src/http/modules/ngx_http_upstream_keepalive_module.c |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_upstream_keepalive_module.c Wed Dec 26 09:29:37 2012 +0000 +++ b/src/http/modules/ngx_http_upstream_keepalive_module.c Wed Dec 26 14:46:06 2012 +0000 @@ -502,6 +502,10 @@ kcf = ngx_http_conf_upstream_srv_conf(uscf, ngx_http_upstream_keepalive_module); + if (kcf->original_init_upstream) { + return "is duplicate"; + } + kcf->original_init_upstream = uscf->peer.init_upstream ? uscf->peer.init_upstream : ngx_http_upstream_init_round_robin;