From 9d538ae705f4be1c49adc11ae21a366702711b5b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sat, 17 Nov 2018 14:38:45 +0000 Subject: [CritFix] Fix adding symbols to their primary groups --- src/libserver/cfg_utils.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/libserver/cfg_utils.c') diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c index b874d439e..550e4b730 100644 --- a/src/libserver/cfg_utils.c +++ b/src/libserver/cfg_utils.c @@ -1558,11 +1558,13 @@ rspamd_config_new_symbol (struct rspamd_config *cfg, const gchar *symbol, /* Search for symbol group */ if (group == NULL) { group = "ungrouped"; - } - - if (strcmp (group, "ungrouped") == 0) { sym_def->flags |= RSPAMD_SYMBOL_FLAG_UNGROUPPED; } + else { + if (strcmp (group, "ungrouped") == 0) { + sym_def->flags |= RSPAMD_SYMBOL_FLAG_UNGROUPPED; + } + } sym_group = g_hash_table_lookup (cfg->groups, group); if (sym_group == NULL) { @@ -1572,6 +1574,10 @@ rspamd_config_new_symbol (struct rspamd_config *cfg, const gchar *symbol, sym_def->gr = sym_group; g_hash_table_insert (sym_group->symbols, sym_def->name, sym_def); + + if (!(sym_def->flags & RSPAMD_SYMBOL_FLAG_UNGROUPPED)) { + g_ptr_array_add (sym_def->groups, sym_group); + } } -- cgit v1.2.3