From 84488182a23cdb0edf1a713f91d76f61c281efc4 Mon Sep 17 00:00:00 2001 From: Umputun Date: Mon, 21 Jan 2019 16:52:49 -0600 Subject: [PATCH] avloid tokenization if lister failed or an empty list of restricted words #237 --- backend/app/store/service/restricted_words.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/app/store/service/restricted_words.go b/backend/app/store/service/restricted_words.go index 7d33e4eb..82ee08a2 100644 --- a/backend/app/store/service/restricted_words.go +++ b/backend/app/store/service/restricted_words.go @@ -34,14 +34,16 @@ func NewRestrictedWordsMatcher(lister RestrictedWordsLister) *RestrictedWordsMat // Match matches comment text against restricted words for specified site func (m *RestrictedWordsMatcher) Match(siteID string, text string) bool { - tokens := m.tokenize(text) - restrictedWords, err := m.lister.List(siteID) if err != nil { fmt.Printf("failed to get restricted patterns for site %s: %v", siteID, err) return false } + if len(restrictedWords) == 0 { + return false + } + tokens := m.tokenize(text) trie := newWildcardTrie(restrictedWords...) for _, token := range tokens {