Mercurial > hg > nginx-quic
comparison src/http/ngx_http_request.c @ 4471:b19a651471d9
Core: protection from subrequest loops.
Without the protection, subrequest loop results in r->count overflow and
SIGSEGV. Protection was broken in 0.7.25.
Note that this also limits number of parallel subrequests. This
wasn't exactly the case before 0.7.25 as local subrequests were
completed directly.
See here for details:
http://nginx.org/pipermail/nginx-ru/2010-February/032184.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 13 Feb 2012 15:33:08 +0000 |
parents | d620f497c50f |
children | c95b828912a3 |
comparison
equal
deleted
inserted
replaced
4470:d9bf6caf0371 | 4471:b19a651471d9 |
---|---|
2008 pr = r->parent; | 2008 pr = r->parent; |
2009 | 2009 |
2010 if (r == c->data) { | 2010 if (r == c->data) { |
2011 | 2011 |
2012 r->main->count--; | 2012 r->main->count--; |
2013 r->main->subrequests++; | |
2013 | 2014 |
2014 if (!r->logged) { | 2015 if (!r->logged) { |
2015 | 2016 |
2016 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); | 2017 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); |
2017 | 2018 |