aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/cfg_utils.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-09-27 15:28:07 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-09-27 15:28:07 +0100
commit3da3ad2506b2326ca533b11b9ab8e2cebb92b63f (patch)
tree1c800b76dcb68953cd0ea141b87ed816fab46768 /src/libserver/cfg_utils.c
parent0cde7b0683bf3f9550ad97bfdbedc22511c1505c (diff)
downloadrspamd-3da3ad2506b2326ca533b11b9ab8e2cebb92b63f.tar.gz
rspamd-3da3ad2506b2326ca533b11b9ab8e2cebb92b63f.zip
[Minor] Further static leaks removal
Diffstat (limited to 'src/libserver/cfg_utils.c')
-rw-r--r--src/libserver/cfg_utils.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index 25015c269..dd2578c91 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -124,10 +124,12 @@ struct rspamd_config *
rspamd_config_new (enum rspamd_config_init_flags flags)
{
struct rspamd_config *cfg;
+ rspamd_mempool_t *pool;
- cfg = g_malloc0 (sizeof (*cfg));
+ pool = rspamd_mempool_new (8 * 1024 * 1024, "cfg");
+ cfg = rspamd_mempool_alloc0 (pool, sizeof (*cfg));
/* Allocate larger pool for cfg */
- cfg->cfg_pool = rspamd_mempool_new (8 * 1024 * 1024, "cfg");
+ cfg->cfg_pool = pool;
cfg->dns_timeout = 1.0;
cfg->dns_retransmits = 5;
/* 16 sockets per DNS server */
@@ -311,7 +313,7 @@ rspamd_config_free (struct rspamd_config *cfg)
HASH_CLEAR (hh, cfg->actions);
- rspamd_mempool_delete (cfg->cfg_pool);
+ rspamd_mempool_destructors_enforce (cfg->cfg_pool);
if (cfg->checksum) {
g_free (cfg->checksum);
@@ -324,7 +326,7 @@ rspamd_config_free (struct rspamd_config *cfg)
g_free (lp);
}
- g_free (cfg);
+ rspamd_mempool_delete (cfg->cfg_pool);
}
const ucl_object_t *