Mercurial > hg > nginx
changeset 2713:b4d8aef4a1ad
fix segfault if no http section is defined in confguraiton,
the bug has been introduced in r1259
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 15 Apr 2009 20:26:33 +0000 |
parents | 41f993457021 |
children | 4dd1773990db |
files | src/http/modules/perl/ngx_http_perl_module.c src/http/ngx_http_config.h |
diffstat | 2 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/perl/ngx_http_perl_module.c Wed Apr 15 19:46:24 2009 +0000 +++ b/src/http/modules/perl/ngx_http_perl_module.c Wed Apr 15 20:26:33 2009 +0000 @@ -1041,15 +1041,13 @@ pmcf = ngx_http_cycle_get_module_main_conf(cycle, ngx_http_perl_module); - { - - dTHXa(pmcf->perl); - PERL_SET_CONTEXT(pmcf->perl); + if (pmcf) { + dTHXa(pmcf->perl); + PERL_SET_CONTEXT(pmcf->perl); - /* set worker's $$ */ + /* set worker's $$ */ - sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid); - + sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid); } return NGX_OK;
--- a/src/http/ngx_http_config.h Wed Apr 15 19:46:24 2009 +0000 +++ b/src/http/ngx_http_config.h Wed Apr 15 20:26:33 2009 +0000 @@ -69,8 +69,10 @@ ((ngx_http_conf_ctx_t *) cf->ctx)->loc_conf[module.ctx_index] #define ngx_http_cycle_get_module_main_conf(cycle, module) \ - ((ngx_http_conf_ctx_t *) \ - cycle->conf_ctx[ngx_http_module.index])->main_conf[module.ctx_index] + (cycle->conf_ctx[ngx_http_module.index] ? \ + ((ngx_http_conf_ctx_t *) cycle->conf_ctx[ngx_http_module.index]) \ + ->main_conf[module.ctx_index]: \ + NULL) #endif /* _NGX_HTTP_CONFIG_H_INCLUDED_ */