Revision: 1599
http://vcs.pcre.org/viewvc?view=rev&revision=1599
Author: zherczeg
Date: 2015-09-02 09:50:31 +0100 (Wed, 02 Sep 2015)
Log Message:
-----------
A match limit issue is fixed in JIT.
Modified Paths:
--------------
code/trunk/ChangeLog
code/trunk/pcre_jit_compile.c
code/trunk/testdata/testinput12
code/trunk/testdata/testoutput12
Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog 2015-08-30 05:40:41 UTC (rev 1598)
+++ code/trunk/ChangeLog 2015-09-02 08:50:31 UTC (rev 1599)
@@ -150,7 +150,10 @@
into the workspace safety margin. The next one would have expanded the
workspace. The test for overflow was not including the safety margin.
+40. A match limit issue is fixed in JIT which was found by Karl Skomski
+ with a custom LLVM fuzzer.
+
Version 8.37 28-April-2015
--------------------------
Modified: code/trunk/pcre_jit_compile.c
===================================================================
--- code/trunk/pcre_jit_compile.c 2015-08-30 05:40:41 UTC (rev 1598)
+++ code/trunk/pcre_jit_compile.c 2015-09-02 08:50:31 UTC (rev 1599)
@@ -8483,8 +8483,7 @@
OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), STR_PTR, 0);
}
BACKTRACK_AS(braminzero_backtrack)->matchingpath = LABEL();
- if (cc[1] > OP_ASSERTBACK_NOT)
- count_match(common);
+ count_match(common);
break;
case OP_ONCE:
Modified: code/trunk/testdata/testinput12
===================================================================
--- code/trunk/testdata/testinput12 2015-08-30 05:40:41 UTC (rev 1598)
+++ code/trunk/testdata/testinput12 2015-09-02 08:50:31 UTC (rev 1599)
@@ -101,4 +101,7 @@
/(x(?1)){4}/S++
+/(.|.)*?bx/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
+
/-- End of testinput12 --/
Modified: code/trunk/testdata/testoutput12
===================================================================
--- code/trunk/testdata/testoutput12 2015-08-30 05:40:41 UTC (rev 1598)
+++ code/trunk/testdata/testoutput12 2015-09-02 08:50:31 UTC (rev 1599)
@@ -197,4 +197,8 @@
/(x(?1)){4}/S++
+/(.|.)*?bx/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
+Error -8 (match limit exceeded)
+
/-- End of testinput12 --/