]> git.kaiwu.me - nginx.git/commit
Core: fixed ngx_pcre_studies cleanup.
authorMaxim Dounin <mdounin@mdounin.ru>
Fri, 24 Dec 2021 22:07:10 +0000 (01:07 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Fri, 24 Dec 2021 22:07:10 +0000 (01:07 +0300)
commit09268f58b457dba304e4dc311d98c206d367b971
treec286e2a53afe4d252f1c7911ff7ff286cac65f7e
parent363505e806feebb7ceb1f9edb0e3f75c1253384f
Core: fixed ngx_pcre_studies cleanup.

If a configuration parsing fails for some reason, ngx_regex_module_init()
is not called, and ngx_pcre_studies remained set despite the fact that
the pool it was allocated from is already freed.  This might result in
a segmentation fault during runtime regular expression compilation, such
as in SSI, for example, in the single process mode, or if a worker process
died and was respawned from a master process in such an inconsistent state.

Fix is to clear ngx_pcre_studies from the pool cleanup handler (which is
anyway used to free JIT-compiled patterns).
src/core/ngx_regex.c