diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-27 15:28:07 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-27 15:28:07 +0100 |
commit | 3da3ad2506b2326ca533b11b9ab8e2cebb92b63f (patch) | |
tree | 1c800b76dcb68953cd0ea141b87ed816fab46768 /src/libserver/cfg_utils.c | |
parent | 0cde7b0683bf3f9550ad97bfdbedc22511c1505c (diff) | |
download | rspamd-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.c | 10 |
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 * |