rust-regex: prevent nonsensical `.*.*` pattern from happening
Differential Revision: https://phab.mercurial-scm.org/D8507
--- a/rust/hg-core/src/filepatterns.rs Thu May 07 23:52:08 2020 +0200
+++ b/rust/hg-core/src/filepatterns.rs Thu May 07 23:53:12 2020 +0200
@@ -181,7 +181,10 @@
// The `regex` crate accepts `**` while `re2` and Python's `re`
// do not. Checking for `*` correctly triggers the same error all
// engines.
- if pattern[0] == b'^' || pattern[0] == b'*' {
+ if pattern[0] == b'^'
+ || pattern[0] == b'*'
+ || pattern.starts_with(b".*")
+ {
return pattern.to_owned();
}
[&b".*"[..], pattern].concat()