Problem: NFA regex engine handles [0-z] incorrectly.
Solution: Return at the right point. (James McCoy, closes #1703)
config |= CLASS_o9;
break;
}
- else
if (*(p + 2) == '7')
{
config |= CLASS_o7;
break;
}
+ return FAIL;
+
case 'a':
if (*(p + 2) == 'z')
{
config |= CLASS_az;
break;
}
- else
if (*(p + 2) == 'f')
{
config |= CLASS_af;
break;
}
+ return FAIL;
+
case 'A':
if (*(p + 2) == 'Z')
{
config |= CLASS_AZ;
break;
}
- else
if (*(p + 2) == 'F')
{
config |= CLASS_AF;
break;
}
- /* FALLTHROUGH */
+ return FAIL;
+
default:
return FAIL;
}
p:s/\%#=0[^A-Z]//g
p:s/\%#=1[^A-Z]//g
p:s/\%#=2[^A-Z]//g
-p:s/\%#=0\%204l^\t...//g
-p:s/\%#=1\%205l^\t...//g
-p:s/\%#=2\%206l^\t...//g
+p:s/\%#=0\%210l^\t...//g
+p:s/\%#=1\%211l^\t...//g
+p:s/\%#=2\%212l^\t...//g
+p:s/\%#=0[0-z]//g
+p:s/\%#=1[0-z]//g
+p:s/\%#=2[0-z]//g
+p:s/\%#=0[^0-z]//g
+p:s/\%#=1[^0-z]//g
+p:s/\%#=2[^0-z]//g
:/^start-here/+1,$wq! test.out
ENDTEST
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~\7f\80\82\90\9b¦±¼ÇÓé
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~\7f\80\82\90\9b¦±¼ÇÓé
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~\7f\80\82\90\9b¦±¼ÇÓé
+ \f\r !"#$%&'()#+'-./{|}~\7f\80\82\90\9b¦±¼ÇÓé
+ \f\r !"#$%&'()#+'-./{|}~\7f\80\82\90\9b¦±¼ÇÓé
+ \f\r !"#$%&'()#+'-./{|}~\7f\80\82\90\9b¦±¼ÇÓé
+0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
+0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
+0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 618,
/**/
617,
/**/