From: Vsevolod Stakhov Date: Fri, 16 Dec 2016 11:19:54 +0000 (+0000) Subject: [Fix] Fix matching of the same patterns from different tries X-Git-Tag: 1.4.2~5^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32b0ccfdb03fb07217478d4c48e66d055652883d;p=thirdparty%2Frspamd.git [Fix] Fix matching of the same patterns from different tries MFH: true --- diff --git a/src/plugins/lua/trie.lua b/src/plugins/lua/trie.lua index cad28cde51..876f2b0e2a 100644 --- a/src/plugins/lua/trie.lua +++ b/src/plugins/lua/trie.lua @@ -54,13 +54,14 @@ local function tries_callback(task) return function (idx, pos) local param = params[idx] local pattern = patterns[idx] + local pattern_idx = pattern .. tostring(idx) .. type - if param['multi'] or not matched[pattern] then + if param['multi'] or not matched[pattern_idx] then rspamd_logger.debugm(N, task, "<%1> matched pattern %2 at pos %3", task:get_message_id(), pattern, pos) task:insert_result(param['symbol'], 1.0, type) if not param['multi'] then - matched[pattern] = true + matched[pattern_idx] = true end end end