Revision: 347
http://www.exim.org/viewvc/pcre2?view=rev&revision=347
Author: zherczeg
Date: 2015-08-14 10:36:04 +0100 (Fri, 14 Aug 2015)
Log Message:
-----------
Match limit check added to recursion.
Modified Paths:
--------------
code/trunk/ChangeLog
code/trunk/src/pcre2_jit_compile.c
Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog 2015-08-13 11:35:38 UTC (rev 346)
+++ code/trunk/ChangeLog 2015-08-14 09:36:04 UTC (rev 347)
@@ -142,7 +142,10 @@
38. A bug which was introduced by the single character repetition optimization
was fixed.
+39. Match limit check added to recursion. This issue was found by Karl Skomski
+with a custom LLVM fuzzer.
+
Version 10.20 30-June-2015
--------------------------
Modified: code/trunk/src/pcre2_jit_compile.c
===================================================================
--- code/trunk/src/pcre2_jit_compile.c 2015-08-13 11:35:38 UTC (rev 346)
+++ code/trunk/src/pcre2_jit_compile.c 2015-08-14 09:36:04 UTC (rev 347)
@@ -10251,6 +10251,7 @@
set_jumps(common->currententry->calls, common->currententry->entry);
sljit_emit_fast_enter(compiler, TMP2, 0);
+count_match(common);
allocate_stack(common, private_data_size + framesize + alternativesize);
OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(private_data_size + framesize + alternativesize - 1), TMP2, 0);
copy_private_data(common, ccbegin, ccend, TRUE, private_data_size + framesize + alternativesize, framesize + alternativesize, needs_control_head);