]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Fixed crashes caused by recent "multiple storages per namespace" change.
authorTimo Sirainen <tss@iki.fi>
Sun, 9 Jun 2013 11:53:31 +0000 (14:53 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 9 Jun 2013 11:53:31 +0000 (14:53 +0300)
src/lib-storage/index/shared/shared-storage.c
src/lib-storage/mail-namespace.c

index a6a76f32641089bca4a3f968a8b9b3b54127dd45..12a290362854cd1a7f4f9a31642a778aad1f5386 100644 (file)
@@ -289,6 +289,7 @@ int shared_storage_get_namespace(struct mail_namespace **_ns,
                NAMESPACE_FLAG_LIST_PREFIX | NAMESPACE_FLAG_HIDDEN |
                NAMESPACE_FLAG_AUTOCREATED | NAMESPACE_FLAG_INBOX_ANY;
        new_ns->mail_set = _storage->set;
+       i_array_init(&new_ns->all_storages, 2);
 
        location = t_str_new(256);
        if (ret > 0)
index a6ede7a6ddc2813efc1afdf0760af5bdb4603a15..f0176f422199d522f4905d66ddc0f79b91cdbf3b 100644 (file)
@@ -408,6 +408,7 @@ int mail_namespaces_init_location(struct mail_user *user, const char *location,
        ns->flags = NAMESPACE_FLAG_INBOX_USER | NAMESPACE_FLAG_INBOX_ANY |
                NAMESPACE_FLAG_LIST_PREFIX | NAMESPACE_FLAG_SUBSCRIPTIONS;
        ns->owner = user;
+       i_array_init(&ns->all_storages, 2);
 
        inbox_set = p_new(user->pool, struct mail_namespace_settings, 1);
        *inbox_set = mail_namespace_default_settings;
@@ -489,6 +490,7 @@ struct mail_namespace *mail_namespaces_init_empty(struct mail_user *user)
        ns->flags = NAMESPACE_FLAG_INBOX_USER | NAMESPACE_FLAG_INBOX_ANY |
                NAMESPACE_FLAG_LIST_PREFIX | NAMESPACE_FLAG_SUBSCRIPTIONS;
        ns->mail_set = mail_user_set_get_storage_set(user);
+       i_array_init(&ns->all_storages, 2);
        user->namespaces = ns;
        return ns;
 }