diff options
author | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-04-21 07:13:00 +0000 |
---|---|---|
committer | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-04-21 07:13:00 +0000 |
commit | b36a43555e3c3ca24cad709be9702273effb68aa (patch) | |
tree | 4a1e3cd64f43b4895ac7580c51e7bec8da6c93e6 /pcre_jit_compile.c | |
parent | e2126bc127a8b4c3602dd28ebb2862ad6fbc27a6 (diff) | |
download | pcre-b36a43555e3c3ca24cad709be9702273effb68aa.tar.gz |
Fix JIT assertion failure.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1549 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_jit_compile.c')
-rw-r--r-- | pcre_jit_compile.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c index dd378e0..debdf6e 100644 --- a/pcre_jit_compile.c +++ b/pcre_jit_compile.c @@ -1533,7 +1533,11 @@ while (cc < ccend) { case OP_KET: if (PRIVATE_DATA(cc) != 0) + { private_data_length++; + SLJIT_ASSERT(PRIVATE_DATA(cc + 1) != 0); + cc += PRIVATE_DATA(cc + 1); + } cc += 1 + LINK_SIZE; break; @@ -1548,6 +1552,7 @@ while (cc < ccend) case OP_SBRAPOS: case OP_SCOND: private_data_length++; + SLJIT_ASSERT(PRIVATE_DATA(cc) != 0); cc += 1 + LINK_SIZE; break; @@ -1710,6 +1715,8 @@ do { count = 1; srcw[0] = PRIVATE_DATA(cc); + SLJIT_ASSERT(PRIVATE_DATA(cc + 1) != 0); + cc += PRIVATE_DATA(cc + 1); } cc += 1 + LINK_SIZE; break; |