Fix (?R- not being correctly diagnosed.
This commit is contained in:
parent
0046526d0e
commit
e4d630c4af
|
@ -69,6 +69,9 @@ the LLVM fuzzer.
|
|||
18. A conditional group with only one branch has an implicit empty alternative
|
||||
branch and must therefore be treated as potentially matching an empty string.
|
||||
|
||||
19. If (?R was followed by - or + incorrect behaviour happened instead of a
|
||||
diagnostic. This bug was discovered by Karl Skomski with the LLVM fuzzer.
|
||||
|
||||
|
||||
Version 10.20 30-June-2015
|
||||
--------------------------
|
||||
|
|
|
@ -6394,9 +6394,14 @@ for (;; ptr++)
|
|||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
case CHAR_R: /* Recursion */
|
||||
ptr++; /* Same as (?0) */
|
||||
/* Fall through */
|
||||
case CHAR_R: /* Recursion, same as (?0) */
|
||||
recno = 0;
|
||||
if (*(++ptr) != CHAR_RIGHT_PARENTHESIS)
|
||||
{
|
||||
*errorcodeptr = ERR29;
|
||||
goto FAILED;
|
||||
}
|
||||
goto HANDLE_RECURSION;
|
||||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
|
|
|
@ -4354,4 +4354,6 @@ a random value. /Ix
|
|||
|
||||
/()(?(R)0)*+/B
|
||||
|
||||
/(?R-:(?</
|
||||
|
||||
# End of testinput2
|
||||
|
|
|
@ -14553,4 +14553,7 @@ Failed: error 106 at offset 353: missing terminating ] for character class
|
|||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/(?R-:(?</
|
||||
Failed: error 129 at offset 3: (?R or (?[+-]digits must be followed by )
|
||||
|
||||
# End of testinput2
|
||||
|
|
Loading…
Reference in New Issue