I am receiving an access violation running pcre2test.exe (SVN 1184)
against testinput2 on Win32. It is caused by the pattern in the attached
test.txt.
Command line:
pcre2test.exe -jit -q -8 test.txt
The AV triggers in sljitNativeX86_common.c, line 459:
if (type == SLJIT_JUMP) {
if (short_jump)
*code_ptr++ = JMP_i8;
else
/* AV -> */ *code_ptr++ = JMP_i32; /* <- AV */
jump->addr++;
}
Only Win32 JIT is affected. The compiler is C++Builder.
Win64 has no issues, neither does non-JIT mode.
Could anyone reproduce my findings?
Many thanks,
Ralf
# This set of tests is not Perl-compatible. It checks on special features
# of PCRE2's API, error diagnostics, and the compiled code of some patterns.
# It also checks the non-Perl syntax that PCRE2 supports (Python, .NET,
# Oniguruma). There are also some tests where PCRE2 and Perl differ,
# either because PCRE2 can't be compatible, or there is a possible Perl
# bug.
# NOTE: This is a non-UTF set of tests. When UTF support is needed, use
# test 5.
#forbid_utf
#newline_default lf any anycrlf
/{ÍÍÍÍ{'{22{2{{2{'{22{?{22{2{'{22{2{{2{{222{{2{'{22{2{22{2{'{22{2{{2{'{22{2{22{2{'{'{22{2{22{2{'{22{2{{2{'{22{2{22{2{'{222{2ÄÍÍÍÍ{'{22{2{{2{'{22{?{11{2{'{22{2{{2{{'{22{2{{2{'{22{?{22{1{'{22{2{{2{{222{{2{'{22{2{22{2{'{/auto_callout