mirror of
https://github.com/XTLS/Xray-core.git
synced 2025-04-29 16:58:34 +00:00
fix(common): strmatcher match domain safety
This commit is contained in:
parent
cd1d000860
commit
fce86aad33
2 changed files with 9 additions and 2 deletions
|
@ -225,7 +225,11 @@ func (ac *ACAutomaton) Match(s string) bool {
|
|||
// 2. the match string is through a fail edge. NOT FULL MATCH
|
||||
// 2.1 Through a fail edge, but there exists a valid node. SUBSTR
|
||||
for i := len(s) - 1; i >= 0; i-- {
|
||||
idx := char2Index[s[i]]
|
||||
chr := int(s[i])
|
||||
if chr >= len(char2Index) {
|
||||
return false
|
||||
}
|
||||
idx := char2Index[chr]
|
||||
fullMatch = fullMatch && ac.trie[node][idx].edgeType
|
||||
node = ac.trie[node][idx].nextNode
|
||||
switch ac.exists[node].matchType {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue