summaryrefslogtreecommitdiffstats
path: root/src/filter.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2011-08-05 14:52:21 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2011-08-05 14:52:21 +0400
commitf5867bfec49caebbe06b3058fd905dd243f07438 (patch)
treed56cc45d24b733e30672b1c556d628d2c481601b /src/filter.c
parent6c4d8488b1322b6e53bc1f0beac94b790b34c5ae (diff)
downloadrspamd-f5867bfec49caebbe06b3058fd905dd243f07438.tar.gz
rspamd-f5867bfec49caebbe06b3058fd905dd243f07438.zip
Make hash traversing more safe by using reference count.
Update to 0.4.2
Diffstat (limited to 'src/filter.c')
-rw-r--r--src/filter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/filter.c b/src/filter.c
index 17dc6aa60..c0c21681d 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -64,7 +64,7 @@ insert_metric_result (struct worker_task *task, struct metric *metric, const gch
metric_res = memory_pool_alloc (task->task_pool, sizeof (struct metric_result));
metric_res->symbols = g_hash_table_new (g_str_hash, g_str_equal);
metric_res->checked = FALSE;
- memory_pool_add_destructor (task->task_pool, (pool_destruct_func) g_hash_table_destroy, metric_res->symbols);
+ memory_pool_add_destructor (task->task_pool, (pool_destruct_func) g_hash_table_unref, metric_res->symbols);
metric_res->metric = metric;
metric_res->grow_factor = 0;
metric_res->score = 0;
@@ -663,7 +663,7 @@ process_statfiles (struct worker_task *task)
if (task->tokens == NULL) {
task->tokens = g_hash_table_new (g_direct_hash, g_direct_equal);
- memory_pool_add_destructor (task->task_pool, (pool_destruct_func)g_hash_table_destroy, task->tokens);
+ memory_pool_add_destructor (task->task_pool, (pool_destruct_func)g_hash_table_unref, task->tokens);
}
g_list_foreach (task->cfg->classifiers, classifiers_callback, task);