diff --git a/component/trie/domain.go b/component/trie/domain.go index 8df2279..909cccf 100644 --- a/component/trie/domain.go +++ b/component/trie/domain.go @@ -98,7 +98,7 @@ func (t *DomainTrie) Search(domain string) *Node { n := t.search(t.root, parts) - if n.Data == nil { + if n == nil || n.Data == nil { return nil } diff --git a/component/trie/domain_test.go b/component/trie/domain_test.go index 3e15071..61340cd 100644 --- a/component/trie/domain_test.go +++ b/component/trie/domain_test.go @@ -27,6 +27,7 @@ func TestTrie_Basic(t *testing.T) { assert.NotNil(t, tree.Insert("", localIP)) assert.Nil(t, tree.Search("")) assert.NotNil(t, tree.Search("localhost")) + assert.Nil(t, tree.Search("www.google.com")) } func TestTrie_Wildcard(t *testing.T) {