From: Timo Sirainen Date: Thu, 17 Nov 2022 17:04:54 +0000 (+0200) Subject: lib-storage: Fix calling mail_user_get_mail_home() during user initialization X-Git-Tag: 2.4.0~3372 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc0f69434217add3f75bd490b7f8d208fb2db169;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Fix calling mail_user_get_mail_home() during user initialization When it's not already known that settings have been expanded, access mail_home via unexpanded settings. This guarantees that the setting hasn't been expanded yet. There's no guarantee whether user->set has been expanded or not during mail_user_init(). --- diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index 709b8e34e3..90bb438193 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -462,6 +462,7 @@ static bool mail_user_get_mail_home(struct mail_user *user) user->_home = home[0] != '\0' ? home : NULL; return TRUE; } + home = user->unexpanded_set->mail_home; /* we're still initializing user. need to do the expansion ourself. */ i_assert(home[0] == SETTING_STRVAR_UNEXPANDED[0]); home++;