PCRE JIT stack size limit
| From: | Christoph Becker | Date: | Thu, 23 Jul 2015 11:07:09 +0000 |
| Subject: | PCRE JIT stack size limit | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-87245@lists.php.net to get a copy of this message | ||
Hi!
PHP7 supports PCRE's JIT compilation of patterns by default, which
mostly works fine. However, there are issues when the matching exceeds
the JIT stack limit, see bug #70110[1].
I'm not sure how to solve this best. Basically, I see two possible
solutions: either we fall back to non JIT matching, if pcre_exec() fails
with PCRE_ERROR_JIT_STACKLIMIT, or we use a custom JIT stack and make
its size a configurable ini setting (similar to pcre.backtrack_limit),
and raise E_WARNING if the matching fails due to limited stack size.
Thoughts?
[1] <https://bugs.php.net/bug.php?id=70110>
--
Christoph M. Becker