aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorK.Kosako <kosako@sofnec.co.jp>2020-01-17 16:15:54 +0900
committerK.Kosako <kosako@sofnec.co.jp>2020-01-17 16:15:54 +0900
commitc4522d7781c40678c856c68278028a9ce1d4b356 (patch)
treeb6cc4615564b35a84ca400a939deb50861d15e65
parentad66449e0a172956997b5afe85ed7256a727a225 (diff)
downloadoniguruma-c4522d7781c40678c856c68278028a9ce1d4b356.zip
oniguruma-c4522d7781c40678c856c68278028a9ce1d4b356.tar.gz
oniguruma-c4522d7781c40678c856c68278028a9ce1d4b356.tar.bz2
check ONIG_SYN_VARIABLE_LEN_LOOK_BEHIND if ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND is disabled case
-rw-r--r--src/regcomp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/regcomp.c b/src/regcomp.c
index f341904..b291edf 100644
--- a/src/regcomp.c
+++ b/src/regcomp.c
@@ -4316,10 +4316,13 @@ tune_look_behind(Node* node, regex_t* reg, int state, ScanEnv* env)
if (r == 0)
r = tune_tree(node, reg, state, env);
}
+ else if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_VARIABLE_LEN_LOOK_BEHIND))
+ goto normal;
else
r = ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
}
else { /* CHAR_LEN_NORMAL */
+ normal:
if (ci.min == INFINITE_LEN) {
r = ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
}