Previout bug-fix was bad. This properly fixes an overrun while reading a
Unicode group name.
This commit is contained in:
parent
45959f1eec
commit
d90de8b053
|
@ -2246,8 +2246,8 @@ if (utf && is_group)
|
||||||
if (type != ucp_Nd && PRIV(ucp_gentype)[type] != ucp_L &&
|
if (type != ucp_Nd && PRIV(ucp_gentype)[type] != ucp_L &&
|
||||||
c != CHAR_UNDERSCORE) break;
|
c != CHAR_UNDERSCORE) break;
|
||||||
ptr++;
|
ptr++;
|
||||||
|
FORWARDCHARTEST(ptr, ptrend);
|
||||||
if (ptr >= ptrend) break;
|
if (ptr >= ptrend) break;
|
||||||
FORWARDCHAR(ptr);
|
|
||||||
GETCHAR(c, ptr);
|
GETCHAR(c, ptr);
|
||||||
type = UCD_CHARTYPE(c);
|
type = UCD_CHARTYPE(c);
|
||||||
}
|
}
|
||||||
|
|
|
@ -489,4 +489,8 @@
|
||||||
|
|
||||||
/(?'ABZC6789012345678901234567890123'...)/utf
|
/(?'ABZC6789012345678901234567890123'...)/utf
|
||||||
|
|
||||||
|
/(?(n/utf
|
||||||
|
|
||||||
|
/(?(á/utf
|
||||||
|
|
||||||
# End of testinput10
|
# End of testinput10
|
||||||
|
|
|
@ -398,4 +398,8 @@
|
||||||
\x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
|
\x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
|
||||||
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
||||||
|
|
||||||
|
/(?(n/utf
|
||||||
|
|
||||||
|
/(?(á/utf
|
||||||
|
|
||||||
# End of testinput12
|
# End of testinput12
|
||||||
|
|
|
@ -1645,4 +1645,10 @@ Failed: error 148 at offset 36: subpattern name is too long (maximum 32 code uni
|
||||||
|
|
||||||
/(?'ABZC6789012345678901234567890123'...)/utf
|
/(?'ABZC6789012345678901234567890123'...)/utf
|
||||||
|
|
||||||
|
/(?(n/utf
|
||||||
|
Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
|
/(?(á/utf
|
||||||
|
Failed: error 142 at offset 5: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
# End of testinput10
|
# End of testinput10
|
||||||
|
|
|
@ -1496,4 +1496,10 @@ Failed: error 191 at offset 0: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not allowe
|
||||||
\x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
|
\x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
|
||||||
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
||||||
|
|
||||||
|
/(?(n/utf
|
||||||
|
Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
|
/(?(á/utf
|
||||||
|
Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
# End of testinput12
|
# End of testinput12
|
||||||
|
|
|
@ -1494,4 +1494,10 @@ No match
|
||||||
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
\x{d800}\x{dfff} Surrogates (Unknown) \=no_utf_check
|
||||||
0: \x{d800}
|
0: \x{d800}
|
||||||
|
|
||||||
|
/(?(n/utf
|
||||||
|
Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
|
/(?(á/utf
|
||||||
|
Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
|
||||||
|
|
||||||
# End of testinput12
|
# End of testinput12
|
||||||
|
|
Loading…
Reference in New Issue