Fixed bug #76909 preg_match difference between 7.3 and < 7.3

Applied upstream patch, see https://bugs.exim.org/show_bug.cgi?id=2321
This commit is contained in:
Anatol Belski 2018-09-21 15:55:03 +02:00
parent 91b2b6c65d
commit 7a02ecb7fe

View File

@ -5856,9 +5856,6 @@ int i, j, k, len, c;
if (!sljit_has_cpu_feature(SLJIT_HAS_CMOV)) if (!sljit_has_cpu_feature(SLJIT_HAS_CMOV))
return FALSE; return FALSE;
if (invert)
nclass = !nclass;
len = 0; len = 0;
for (i = 0; i < 32; i++) for (i = 0; i < 32; i++)
@ -5940,6 +5937,9 @@ if (j != 0)
} }
} }
if (invert)
nclass = !nclass;
type = nclass ? SLJIT_NOT_EQUAL : SLJIT_EQUAL; type = nclass ? SLJIT_NOT_EQUAL : SLJIT_EQUAL;
add_jump(compiler, backtracks, CMP(type, TMP2, 0, SLJIT_IMM, 0)); add_jump(compiler, backtracks, CMP(type, TMP2, 0, SLJIT_IMM, 0));
return TRUE; return TRUE;