diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-01-18 17:42:29 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-01-18 17:42:29 +0000 |
commit | 87be736a89369f4c746e5a97352000eceaabac3a (patch) | |
tree | 80ecff5c1e2d79cc0a49032520537c0ba292b2fa /src/libutil/map.c | |
parent | 9d090bfa97a3de12fbc6123def434609349b9031 (diff) | |
download | rspamd-87be736a89369f4c746e5a97352000eceaabac3a.tar.gz rspamd-87be736a89369f4c746e5a97352000eceaabac3a.zip |
[Fix] More leaks eliminated
Diffstat (limited to 'src/libutil/map.c')
-rw-r--r-- | src/libutil/map.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/libutil/map.c b/src/libutil/map.c index af76c6979..3266b5cf3 100644 --- a/src/libutil/map.c +++ b/src/libutil/map.c @@ -1603,7 +1603,8 @@ rspamd_map_add_from_ucl (struct rspamd_config *cfg, g_ptr_array_add (map->backends, bk); if (!map->name) { - map->name = g_strdup (ucl_object_tostring (cur)); + map->name = rspamd_mempool_strdup (cfg->cfg_pool, + ucl_object_tostring (cur)); } } } @@ -1621,16 +1622,14 @@ rspamd_map_add_from_ucl (struct rspamd_config *cfg, else if (ucl_object_type (obj) == UCL_OBJECT) { elt = ucl_object_lookup (obj, "name"); if (elt && ucl_object_type (elt) == UCL_STRING) { - map->name = g_strdup (ucl_object_tostring (elt)); + map->name = rspamd_mempool_strdup (cfg->cfg_pool, + ucl_object_tostring (elt)); } elt = ucl_object_lookup (obj, "description"); if (elt && ucl_object_type (elt) == UCL_STRING) { - if (map->description) { - g_free (map->description); - } - - map->description = g_strdup (ucl_object_tostring (elt)); + map->description = rspamd_mempool_strdup (cfg->cfg_pool, + ucl_object_tostring (elt)); } elt = ucl_object_lookup_any (obj, "timeout", "poll", "poll_time", @@ -1657,7 +1656,8 @@ rspamd_map_add_from_ucl (struct rspamd_config *cfg, g_ptr_array_add (map->backends, bk); if (!map->name) { - map->name = g_strdup (ucl_object_tostring (cur)); + map->name = rspamd_mempool_strdup (cfg->cfg_pool, + ucl_object_tostring (cur)); } } } @@ -1683,7 +1683,8 @@ rspamd_map_add_from_ucl (struct rspamd_config *cfg, g_ptr_array_add (map->backends, bk); if (!map->name) { - map->name = g_strdup (ucl_object_tostring (elt)); + map->name = rspamd_mempool_strdup (cfg->cfg_pool, + ucl_object_tostring (elt)); } } } |