]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
virtual: Contexts are now required or checked
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 23 Jan 2018 08:44:02 +0000 (10:44 +0200)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Wed, 24 Jan 2018 11:24:32 +0000 (13:24 +0200)
Satisfies static analyzers

src/plugins/virtual/virtual-search.c
src/plugins/virtual/virtual-storage.c
src/plugins/virtual/virtual-storage.h

index ca4bb77c613b076beeb189cf680e359296614779..bd7779daecfed000b3925c0e0285e08239f180b9 100644 (file)
@@ -123,7 +123,7 @@ virtual_search_init(struct mailbox_transaction_context *t,
 
 int virtual_search_deinit(struct mail_search_context *ctx)
 {
-       struct virtual_search_context *vctx = VIRTUAL_CONTEXT(ctx);
+       struct virtual_search_context *vctx = VIRTUAL_CONTEXT_REQUIRE(ctx);
 
        array_free(&vctx->result);
        array_free(&vctx->records);
@@ -134,7 +134,7 @@ int virtual_search_deinit(struct mail_search_context *ctx)
 bool virtual_search_next_nonblock(struct mail_search_context *ctx,
                                  struct mail **mail_r, bool *tryagain_r)
 {
-       struct virtual_search_context *vctx = VIRTUAL_CONTEXT(ctx);
+       struct virtual_search_context *vctx = VIRTUAL_CONTEXT_REQUIRE(ctx);
        struct index_search_context *ictx = (struct index_search_context *)ctx;
        uint32_t seq;
 
@@ -180,7 +180,7 @@ static void search_args_set_full_match(struct mail_search_arg *args)
 
 bool virtual_search_next_update_seq(struct mail_search_context *ctx)
 {
-       struct virtual_search_context *vctx = VIRTUAL_CONTEXT(ctx);
+       struct virtual_search_context *vctx = VIRTUAL_CONTEXT_REQUIRE(ctx);
        const struct virtual_search_record *recs;
        unsigned int count;
 
index 6e0bd40f32be5098e010c7f934cca8ed5c20f257..e096234e648c581d3943aa5e411375d688ae89f8 100644 (file)
@@ -24,7 +24,7 @@
 #define VIRTUAL_DEFAULT_MAX_OPEN_MAILBOXES 64
 
 #define VIRTUAL_BACKEND_CONTEXT(obj) \
-       MODULE_CONTEXT(obj, virtual_backend_storage_module)
+       MODULE_CONTEXT_REQUIRE(obj, virtual_backend_storage_module)
 
 struct virtual_backend_mailbox {
        union mailbox_module_context module_ctx;
index 8a6e3a50efcdfdadc1bde0ee5271f395c8ba49a9..8a82a4c6c04c0b72b24b2555298664f5e3a6dbe6 100644 (file)
@@ -10,6 +10,8 @@
 
 #define VIRTUAL_CONTEXT(obj) \
        MODULE_CONTEXT(obj, virtual_storage_module)
+#define VIRTUAL_CONTEXT_REQUIRE(obj) \
+       MODULE_CONTEXT_REQUIRE(obj, virtual_storage_module)
 
 struct virtual_save_context;