Fix a match offset check in JIT.
This commit is contained in:
parent
c4fac10bad
commit
6679349203
|
@ -5130,8 +5130,6 @@ if (range_right < 0)
|
||||||
|
|
||||||
SLJIT_ASSERT(range_right != offset);
|
SLJIT_ASSERT(range_right != offset);
|
||||||
|
|
||||||
max -= 1;
|
|
||||||
SLJIT_ASSERT(max > 0);
|
|
||||||
if (common->match_end_ptr != 0)
|
if (common->match_end_ptr != 0)
|
||||||
{
|
{
|
||||||
OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr);
|
OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr);
|
||||||
|
@ -5150,7 +5148,7 @@ OP1(SLJIT_MOV, RETURN_ADDR, 0, SLJIT_IMM, (sljit_sw)update_table);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
start = LABEL();
|
start = LABEL();
|
||||||
add_jump(compiler, &common->failed_match, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
|
add_jump(compiler, &common->failed_match, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0));
|
||||||
|
|
||||||
#if PCRE2_CODE_UNIT_WIDTH == 8 || (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN)
|
#if PCRE2_CODE_UNIT_WIDTH == 8 || (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN)
|
||||||
OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(range_right));
|
OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(range_right));
|
||||||
|
|
Loading…
Reference in New Issue