summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--pcre_jit_compile.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 226804c..fc0d82b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -111,6 +111,8 @@ Version 8.21 05-Dec-2011
27. Updated RunTest.bat as provided by Sheri Pierce.
+28. Fixed a possible uninitialized memory bug in pcre_jit_compile.c.
+
Version 8.20 21-Oct-2011
------------------------
diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
index 6f2bad0..1bf951a 100644
--- a/pcre_jit_compile.c
+++ b/pcre_jit_compile.c
@@ -5698,7 +5698,8 @@ if (has_alternatives)
{
SLJIT_ASSERT(opcode == OP_COND || opcode == OP_SCOND);
assert = CURRENT_AS(bracket_fallback)->u.assert;
- if (assert->framesize >= 0 && (ccbegin[1 + LINK_SIZE] == OP_ASSERT_NOT || ccbegin[1 + LINK_SIZE] == OP_ASSERTBACK_NOT))
+ if ((ccbegin[1 + LINK_SIZE] == OP_ASSERT_NOT || ccbegin[1 + LINK_SIZE] == OP_ASSERTBACK_NOT) && assert->framesize >= 0)
+
{
OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_LOCALS_REG), assert->localptr);
add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));