diff options
Diffstat (limited to 'pcre/pcre_dfa_exec.c')
-rw-r--r-- | pcre/pcre_dfa_exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/pcre/pcre_dfa_exec.c b/pcre/pcre_dfa_exec.c index 87f4aef9ab1..170ce6a0016 100644 --- a/pcre/pcre_dfa_exec.c +++ b/pcre/pcre_dfa_exec.c @@ -2736,9 +2736,10 @@ for (;;) condcode == OP_DNRREF) return PCRE_ERROR_DFA_UCOND; - /* The DEFINE condition is always false */ + /* The DEFINE condition is always false, and the assertion (?!) is + converted to OP_FAIL. */ - if (condcode == OP_DEF) + if (condcode == OP_DEF || condcode == OP_FAIL) { ADD_ACTIVE(state_offset + codelink + LINK_SIZE + 1, 0); } /* The only supported version of OP_RREF is for the value RREF_ANY, |