Re: PCRE JIT stack size limit
| From: | David Zuelke | Date: | Fri, 24 Jul 2015 12:32:21 +0000 |
| Subject: | Re: PCRE JIT stack size limit | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-87270@lists.php.net to get a copy of this message | ||
On 24.07.2015, at 09:33, Adam Harvey <aharvey@php.net> wrote:
>
> On 23 July 2015 at 11:47, Christoph Becker <cmbecker69@gmx.de> wrote:
> <snip great explanation, thanks>
>> Therefore I tend to prefer a new ini setting (say, pcre.jitstack_limit).
>> That would mean, however, to add yet another ini setting, of which
>> there are already so many.
>
> I'm not a big fan of that, although it's at least in the spirit of
> what configuration settings are meant to be used for.
>
> What if we added the PCRE_ERROR_JIT_STACKLIMIT error constant to those
> exposed to userland so that it's more easily noticed via
> preg_last_error(), and adding a modifier that can be used to disable
> the JIT on a per-pattern basis (by setting PCRE_NO_START_OPTIMIZE,
> which admittedly disables other stuff too, but at least the regex will
> run)? At least then users could check the error when the regex fails
> and re-run the regex without the JIT if they chose to.
But this might mean that patterns which previously worked, because no JIT was used, suddenly fail in
existing code with a new error constant. Which I guess is a BC break.