suppress backref processing in ERE regcomp

one of the features of ERE is that it's actually a regular language
and does not admit expressions which cannot be matched in linear time.
introduction of \n backref support into regcomp's ERE parsing was
unintentional.
This commit is contained in:
Rich Felker 2015-03-20 18:25:01 -04:00
parent 39dfd58417
commit 7c8c86f630

View File

@ -839,7 +839,7 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s)
s--;
break;
default:
if (isdigit(*s)) {
if (!ere && isdigit(*s)) {
/* back reference */
int val = *s - '0';
node = tre_ast_new_literal(ctx->mem, BACKREF, val, ctx->position);