]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: When mail_location is looked up from environment, set its unexpanded...
authorTimo Sirainen <tss@iki.fi>
Wed, 23 Mar 2011 21:13:00 +0000 (23:13 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 23 Mar 2011 21:13:00 +0000 (23:13 +0200)
This fixes a crash when creating index directories and mail location was
autodetected.

src/lib-storage/mail-namespace.c

index 059cea875ccb691ebea70df01027d27a3e58f030..a587562292677bcc76c8363a9cc8dc591c3860f2 100644 (file)
@@ -4,6 +4,7 @@
 #include "array.h"
 #include "str.h"
 #include "file-lock.h"
+#include "settings-parser.h"
 #include "mailbox-list-private.h"
 #include "mail-storage-private.h"
 #include "mail-storage-settings.h"
@@ -358,9 +359,11 @@ int mail_namespaces_init(struct mail_user *user, const char **error_r)
                        location_source = "environment MAILDIR";
                }
        }
-
-       if (unexpanded_inbox_set->location == NULL)
-               unexpanded_inbox_set->location = inbox_set->location;
+       if (*unexpanded_inbox_set->location == '\0') {
+               unexpanded_inbox_set->location =
+                       p_strconcat(user->pool, SETTING_STRVAR_EXPANDED,
+                                   inbox_set->location, NULL);
+       }
 
        ns->set = inbox_set;
        ns->unexpanded_set = unexpanded_inbox_set;