From: Timo Sirainen Date: Thu, 13 Nov 2014 09:14:08 +0000 (+0200) Subject: lib-storage: If storage creation fails, destroy all the already created namespaces... X-Git-Tag: 2.2.16.rc1~224 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8901f9484cdc215b50facd42d626f2b55052817c;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: If storage creation fails, destroy all the already created namespaces/storages. --- diff --git a/src/lib-storage/mail-namespace.c b/src/lib-storage/mail-namespace.c index 19f4f1ba7d..6df5befa00 100644 --- a/src/lib-storage/mail-namespace.c +++ b/src/lib-storage/mail-namespace.c @@ -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);