From 7defd80213710b83381e77fec1102fb112a1d7e1 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 25 Sep 2018 10:58:02 +0100 Subject: [PATCH] [Minor] Don't disable symbols twice --- src/libserver/symbols_cache.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c index 69a1f71586..56b9f86de9 100644 --- a/src/libserver/symbols_cache.c +++ b/src/libserver/symbols_cache.c @@ -1582,6 +1582,7 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task, struct rspamd_symbols_group *gr; GHashTableIter gr_it; ucl_object_iter_t it = NULL; + gboolean already_disabled = FALSE; gpointer k, v; wl = ucl_object_lookup (task->settings, "whitelist"); @@ -1597,6 +1598,7 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task, if (enabled) { /* Disable all symbols but selected */ rspamd_symbols_cache_disable_all_symbols (task, cache); + already_disabled = TRUE; it = NULL; while ((cur = ucl_iterate_object (enabled, &it, true)) != NULL) { @@ -1610,7 +1612,10 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task, if (enabled) { it = NULL; - rspamd_symbols_cache_disable_all_symbols (task, cache); + + if (!already_disabled) { + rspamd_symbols_cache_disable_all_symbols (task, cache); + } while ((cur = ucl_iterate_object (enabled, &it, true)) != NULL) { if (ucl_object_type (cur) == UCL_STRING) { -- 2.47.3