From f78c00f1f3ffe189d11cb6ed26680d1aba7cfcfe Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 21 Sep 2021 17:03:45 +0300 Subject: [PATCH] acl: acllist rebuild - Move data stack frame to caller's loop --- src/plugins/acl/acl-backend-vfile-acllist.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/plugins/acl/acl-backend-vfile-acllist.c b/src/plugins/acl/acl-backend-vfile-acllist.c index 507430f9bb..c6029a2d1c 100644 --- a/src/plugins/acl/acl-backend-vfile-acllist.c +++ b/src/plugins/acl/acl-backend-vfile-acllist.c @@ -199,12 +199,8 @@ acllist_append(struct acl_backend_vfile *backend, struct ostream *output, acllist.name = p_strdup(backend->acllist_pool, name); array_push_back(&backend->acllist, &acllist); - T_BEGIN { - const char *line; - line = t_strdup_printf("%s %s\n", - dec2str(acllist.mtime), name); - o_stream_nsend_str(output, line); - } T_END; + o_stream_nsend_str(output, t_strdup_printf( + "%s %s\n", dec2str(acllist.mtime), name)); } acl_object_deinit(&aclobj); return ret < 0 ? -1 : 0; @@ -273,12 +269,9 @@ acl_backend_vfile_acllist_try_rebuild(struct acl_backend_vfile *backend) iter = mailbox_list_iter_init(list, "*", MAILBOX_LIST_ITER_RAW_LIST | MAILBOX_LIST_ITER_RETURN_NO_FLAGS); - while ((info = mailbox_list_iter_next(iter)) != NULL) { - if (acllist_append(backend, output, info->vname) < 0) { - ret = -1; - break; - } - } + while (ret == 0 && (info = mailbox_list_iter_next(iter)) != NULL) T_BEGIN { + ret = acllist_append(backend, output, info->vname); + } T_END; if (o_stream_finish(output) < 0) { i_error("write(%s) failed: %s", str_c(path), -- 2.47.3