[pcre-dev] [Bug 2764] Regression in JIT matching with ^

Top Page

Reply to this message
Author: admin
Date:  
To: pcre-dev
Subject: [pcre-dev] [Bug 2764] Regression in JIT matching with ^
https://bugs.exim.org/show_bug.cgi?id=2764

Zoltan Herczeg <hzmester@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hzmester@???


--- Comment #2 from Zoltan Herczeg <hzmester@???> ---
Maybe I can give a bit more insight about the problem. Certain single character
repetitions are "enhanced" by JIT, that means if certain conditions apply, they
fail immediately. You can read more about it here:

https://zherczeg.github.io/sljit/pcre2_jit.html

This issue requires two single character repetitions with a capturing bracket
around the first one, and a literal character before the capturing bracket. One
simple example:

pattern /#(A+)#\d+/ does not match to #A#A#0

The issue is caused by not passing some data to the recursive call which
process the capturing bracket during the compilation phase. This cause multiple
issues later. Without the capturing bracket, the pattern works, since there is
no recursive call: /#A+#\d+/ matches to #A#A#0

--
You are receiving this mail because:
You are on the CC list for the bug.