ng: check can_never_match before validate_fuzzy

This commit is contained in:
Justin Viiret 2017-03-06 14:15:56 +11:00 committed by Matthew Barr
parent c50a931bb4
commit 5edecbf539
2 changed files with 5 additions and 0 deletions

View File

@ -330,6 +330,10 @@ bool NG::addGraph(NGWrapper &w) {
/* ensure utf8 starts at cp boundary */
ensureCodePointStart(rm, w);
if (can_never_match(w)) {
throw CompileError(w.expressionIndex, "Pattern can never match.");
}
// validate graph's suitability for fuzzing before resolving asserts
validate_fuzzy_compile(w, w.edit_distance, w.utf8, cc.grey);

View File

@ -141,3 +141,4 @@
144:/abc\b/{edit_distance=1} #Zero-width assertions are disallowed for approximate matching.
145:/abc/8{edit_distance=1} #UTF-8 is disallowed for approximate matching.
146:/(*UTF8)abc/{edit_distance=1} #UTF-8 is disallowed for approximate matching.
147:/\b\BMYBt/s{edit_distance=1} #Pattern can never match.