From: Vsevolod Stakhov Date: Sun, 10 Mar 2019 21:36:35 +0000 (+0000) Subject: [Minor] Another fix after the last merge X-Git-Tag: 1.9.0~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fddff8187c824b52740f0d7791fdb4e33e560edc;p=thirdparty%2Frspamd.git [Minor] Another fix after the last merge --- diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index 46c769a783..71f07a604b 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -620,9 +620,16 @@ register_bit_symbols (struct rspamd_config *cfg, struct suffix_item *suffix, while (g_hash_table_iter_next (&it, &k, &v)) { bit = v; - rspamd_symcache_add_symbol (cfg->cache, bit->symbol, - 0, NULL, NULL, - SYMBOL_TYPE_VIRTUAL, parent_id); + + /* + * We can have multiple IPs mapped to a single symbol, + * so skip symbol's registration to avoid duplicates + */ + if (rspamd_symcache_find_symbol (cfg->cache, bit->symbol) == -1) { + rspamd_symcache_add_symbol (cfg->cache, bit->symbol, + 0, NULL, NULL, + SYMBOL_TYPE_VIRTUAL, parent_id); + } msg_debug_config ("bit: %d", bit->bit); } }