From 62c21d15b6221fee0a0a3a51cf14593810136eb0 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 20 Jan 2017 14:45:38 +0000 Subject: [PATCH] [Fix] Fix reload memory issue --- src/plugins/surbl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index 7ee9269b2..95bef9c2d 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -132,7 +132,7 @@ read_exceptions_list (gchar * chunk, gboolean final) { if (data->cur_data == NULL) { - data->cur_data = g_malloc0 (sizeof (GHashTable *) * MAX_LEVELS); + data->cur_data = data->prev_data; } return rspamd_parse_kv_list ( chunk, @@ -155,8 +155,8 @@ fin_exceptions_list (struct map_cb_data *data) if (t[i] != NULL) { g_hash_table_destroy (t[i]); } + t[i] = NULL; } - g_free (t); } } @@ -264,12 +264,12 @@ surbl_module_init (struct rspamd_config *cfg, struct module_ctx **ctx) surbl_module_ctx->redirectors = NULL; surbl_module_ctx->whitelist = g_hash_table_new (rspamd_strcase_hash, rspamd_strcase_equal); - /* Zero exceptions hashes */ - surbl_module_ctx->exceptions = g_malloc0 (MAX_LEVELS * sizeof (GHashTable *)); - /* Register destructors */ rspamd_mempool_add_destructor (surbl_module_ctx->surbl_pool, - (rspamd_mempool_destruct_t) g_hash_table_destroy, - surbl_module_ctx->whitelist); + (rspamd_mempool_destruct_t) g_hash_table_destroy, + surbl_module_ctx->whitelist); + surbl_module_ctx->exceptions = rspamd_mempool_alloc0 ( + surbl_module_ctx->surbl_pool, MAX_LEVELS * sizeof (GHashTable *)); + *ctx = (struct module_ctx *)surbl_module_ctx; -- 2.39.5