]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: If storage creation fails, destroy all the already created namespaces...
authorTimo Sirainen <tss@iki.fi>
Thu, 13 Nov 2014 09:14:08 +0000 (11:14 +0200)
committerTimo Sirainen <tss@iki.fi>
Thu, 13 Nov 2014 09:14:08 +0000 (11:14 +0200)
src/lib-storage/mail-namespace.c

index 19f4f1ba7d26225d2df70545605434f31f741506..6df5befa000f1835cac0bbb1f46c6b3e9f4608f4 100644 (file)
@@ -387,8 +387,10 @@ int mail_namespaces_init(struct mail_user *user, const char **error_r)
                if (mail_namespaces_init_add(user, ns_set[i],
                                             unexpanded_ns_set[i],
                                             ns_p, error_r) < 0) {
-                       if (!ns_set[i]->ignore_on_failure)
+                       if (!ns_set[i]->ignore_on_failure) {
+                               mail_namespaces_deinit(&namespaces);
                                return -1;
+                       }
                        if (mail_set->mail_debug) {
                                i_debug("Skipping namespace %s: %s",
                                        ns_set[i]->prefix, *error_r);