[Pcre-svn] [1599] code/trunk: A match limit issue is fixed i…

Top Page
Delete this message
Author: Subversion repository
Date:  
To: pcre-svn
Subject: [Pcre-svn] [1599] code/trunk: A match limit issue is fixed in JIT.
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 --/