https://bugs.exim.org/show_bug.cgi?id=2290
Bug ID: 2290
Summary: Recursion issue
Product: PCRE
Version: 8.42
Hardware: x86-64
OS: Windows
Status: NEW
Severity: bug
Priority: medium
Component: Code
Assignee: ph10@???
Reporter: vsmetnjak@???
CC: pcre-dev@???
Hardware: this is tested on is x86-64, but compiled for x86.
Everything seems to work fine, but recursion.
Maybe i am missing something.
This does not match, but it's taken directly from pcre 8.xx manual.
It matches correctly on many pcreCompatibleOnlinePages,eg this one
www(-dot-)regexr(-dot-)com, if testing - don't forget to check pcre there in
right-upper corner and to use single '\' if copying down pattern.
pcre_exec returns -5 which is PCRE_ERROR_UNKNOWN_OPCODE.
Down re should match a balanced "(...abc(...)abc...)" or "(abc)" pattern, but
pcre_exec returns -5.
Re: "\\(([^()]++|(?R))*\\"
By the way, just to make sure, after i tested this first with original
non-modified code(and it's the same in both cases), i changed
REC_STACK_SAVE_MAX from 30 to 96 in 'pcre_exec.c'. Is this then 96/3=32
maxOnStackIndexes? is this correct?
Also, the same thing in pcre_exec when specifying offsets and offsetcount, is
this offsetcount/3=numMaxSubExpression? is this correct?
In this case i optimize this to use both in pcre_exec(...) and
REC_STACK_SAVE_MAX 96, which should suffice for max 32 subExpressions,
REC_STACK_SAVE_MAX(if more,malloc is used there), is this correct?
--
You are receiving this mail because:
You are on the CC list for the bug.