diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-03-30 16:34:29 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-03-30 16:34:29 +0100 |
commit | 0a992ffec9bcb41e39e8b917d533bade986891da (patch) | |
tree | 68abfb3c910a5ac4c954108648fffb55d6d39c70 /src/libserver/cfg_rcl.c | |
parent | 7cdfdccdd8fb845d30d9e0d3dacff36de76e4114 (diff) | |
download | rspamd-0a992ffec9bcb41e39e8b917d533bade986891da.tar.gz rspamd-0a992ffec9bcb41e39e8b917d533bade986891da.zip |
Fix wrong usage of iterators.
Diffstat (limited to 'src/libserver/cfg_rcl.c')
-rw-r--r-- | src/libserver/cfg_rcl.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 6beda0f00..1d77e3168 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1484,7 +1484,6 @@ rspamd_rcl_parse (struct rspamd_rcl_section *top, { const ucl_object_t *found, *cur_obj; struct rspamd_rcl_section *cur, *tmp, *found_sec; - ucl_object_iter_t it; if (obj->type != UCL_OBJECT) { g_set_error (err, @@ -1499,16 +1498,12 @@ rspamd_rcl_parse (struct rspamd_rcl_section *top, { if (strcmp (cur->name, "*") == 0) { /* Default section handler */ - - it = ucl_object_iterate_new (obj); - while ((cur_obj = ucl_object_iterate_safe (it, false)) != NULL) { + LL_FOREACH (obj, cur_obj) { HASH_FIND_STR (top, ucl_object_key (cur_obj), found_sec); if (found_sec == NULL) { if (cur->handler != NULL) { if (!cur->handler (pool, cur_obj, ptr, cur, err)) { - ucl_object_iterate_free (it); - return FALSE; } } @@ -1521,7 +1516,6 @@ rspamd_rcl_parse (struct rspamd_rcl_section *top, } } } - ucl_object_iterate_free (it); } else { found = ucl_object_find_key (obj, cur->name); @@ -1542,12 +1536,9 @@ rspamd_rcl_parse (struct rspamd_rcl_section *top, } } - it = ucl_object_iterate_new (obj); - while ((cur_obj = ucl_object_iterate_safe (it, false)) != NULL) { + LL_FOREACH (found, cur_obj) { if (cur->handler != NULL) { if (!cur->handler (pool, cur_obj, ptr, cur, err)) { - ucl_object_iterate_free (it); - return FALSE; } } @@ -1559,7 +1550,6 @@ rspamd_rcl_parse (struct rspamd_rcl_section *top, err); } } - ucl_object_iterate_free (it); } } if (cur->fin) { |