https://bugs.exim.org/show_bug.cgi?id=2086
Philip Hazel <p...@hermes.cam.ac.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Philip Hazel <p...@hermes.cam.ac.uk> --- This bug was present in both PCRE1 and PCRE2. It was provoked by a possessive repeated character class other than * + or ? (your example isn't explicitly possessive, being [0-9]{3}, but it got automatically possessified because the next character cannot be a digit). I have fixed both PCRE1 and PCRE2 in the SVN repository. It was a small oversight in the code. Here is the patch for PCRE1 8.40: --- pcre_dfa_exec.c (revision 1681) +++ pcre_dfa_exec.c (working copy) @@ -2625,7 +2625,7 @@ if (isinclass) { int max = (int)GET2(ecode, 1 + IMM2_SIZE); - if (*ecode == OP_CRPOSRANGE) + if (*ecode == OP_CRPOSRANGE && count >= (int)GET2(ecode, 1)) { active_count--; /* Remove non-match possibility */ next_active_state--; Thanks for the nice clear report. -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev