]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
acl: Add and use ACL_USER_CONTEXT_REQUIRE
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 23 Jan 2018 08:38:41 +0000 (10:38 +0200)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Wed, 24 Jan 2018 11:24:32 +0000 (13:24 +0200)
Satisfies static analyzers

src/plugins/acl/acl-mailbox-list.c
src/plugins/acl/acl-plugin.h
src/plugins/acl/doveadm-acl.c

index 96b317a00c719a96e31334e977be18ec85831aa7..f9ec668f1bfc1510079db2f4cb1a026b8b45712b 100644 (file)
@@ -551,7 +551,6 @@ static void acl_mailbox_list_init_default(struct mailbox_list *list)
 
 void acl_mail_namespace_storage_added(struct mail_namespace *ns)
 {
-       struct acl_user *auser = ACL_USER_CONTEXT(ns->user);
        struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(ns->list);
        struct acl_backend *backend;
        const char *current_username, *owner_username;
@@ -559,6 +558,7 @@ void acl_mail_namespace_storage_added(struct mail_namespace *ns)
 
        if (alist == NULL)
                return;
+       struct acl_user *auser = ACL_USER_CONTEXT_REQUIRE(ns->user);
 
        owner_username = ns->user->username;
        current_username = auser->acl_user;
index eb1c8ad813e4f981d77a29642d603c8e188098ba..96ed1e924d75a65031ccd611b9aaa56a3495d376 100644 (file)
@@ -16,6 +16,8 @@
        MODULE_CONTEXT_REQUIRE(obj, acl_mailbox_list_module)
 #define ACL_USER_CONTEXT(obj) \
        MODULE_CONTEXT(obj, acl_user_module)
+#define ACL_USER_CONTEXT_REQUIRE(obj) \
+       MODULE_CONTEXT_REQUIRE(obj, acl_user_module)
 
 struct acl_user {
        union mail_user_module_context module_ctx;
index 5e852cf2bb32228b387950cdc8e41bc2e0d5420f..514dcd44a9f6f2b98f491ddd4c6787a627385e7f 100644 (file)
@@ -353,7 +353,7 @@ cmd_acl_debug_mailbox_open(struct doveadm_mail_cmd_context *ctx,
                           struct mail_user *user, const char *mailbox,
                           struct mailbox **box_r)
 {
-       struct acl_user *auser = ACL_USER_CONTEXT(user);
+       struct acl_user *auser = ACL_USER_CONTEXT_REQUIRE(user);
        struct mail_namespace *ns;
        struct mailbox *box;
        const char *path, *errstr;
@@ -394,7 +394,7 @@ cmd_acl_debug_mailbox_open(struct doveadm_mail_cmd_context *ctx,
 static bool cmd_acl_debug_mailbox(struct mailbox *box, bool *retry_r)
 {
        struct mail_namespace *ns = mailbox_get_namespace(box);
-       struct acl_user *auser = ACL_USER_CONTEXT(ns->user);
+       struct acl_user *auser = ACL_USER_CONTEXT_REQUIRE(ns->user);
        struct acl_object *aclobj = acl_mailbox_get_aclobj(box);
        struct acl_backend *backend = acl_mailbox_list_get_backend(box->list);
        struct acl_mailbox_list_context *iter;