Re: PCRE JIT stack size limit

From: Date: Fri, 24 Jul 2015 12:58:28 +0000
Subject: Re: PCRE JIT stack size limit
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-87272@lists.php.net to get a copy of this message
On 24.07.2015 at 14:32, David Zuelke wrote: > 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. Maybe it's best to change the default of pcre.jit to "0"? -- Christoph M. Becker

« previous php.internals (#87272) next »