From 42116dc41f8d4141f11489298c811683b7ef7cf7 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sun, 16 Dec 2018 17:10:17 +0000 Subject: [PATCH] [Minor] Core: Fix disabling of symbols --- src/libserver/rspamd_symcache.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libserver/rspamd_symcache.c b/src/libserver/rspamd_symcache.c index 2eff43826..62340af3b 100644 --- a/src/libserver/rspamd_symcache.c +++ b/src/libserver/rspamd_symcache.c @@ -2532,7 +2532,7 @@ rspamd_symcache_enable_symbol (struct rspamd_task *task, if (item) { dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); - if (CHECK_FINISH_BIT (checkpoint, dyn_item)) { + if (!CHECK_FINISH_BIT (checkpoint, dyn_item)) { ret = TRUE; CLR_START_BIT (checkpoint, dyn_item); CLR_FINISH_BIT (checkpoint, dyn_item); @@ -2568,13 +2568,16 @@ rspamd_symcache_disable_symbol (struct rspamd_task *task, if (item) { dyn_item = rspamd_symcache_get_dynamic (checkpoint, item); - if (CHECK_START_BIT (checkpoint, dyn_item)) { + if (!CHECK_START_BIT (checkpoint, dyn_item)) { ret = TRUE; SET_START_BIT (checkpoint, dyn_item); SET_FINISH_BIT (checkpoint, dyn_item); } else { - msg_warn_task ("cannot disable symbol %s: already started", symbol); + if (!CHECK_FINISH_BIT (checkpoint, dyn_item)) { + msg_warn_task ("cannot disable symbol %s: already started", + symbol); + } } } } -- 2.39.5