]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail-duplicate - Fix panic occurring when user has no configured home...
authorStephan Bosch <stephan.bosch@open-xchange.com>
Fri, 12 Nov 2021 09:43:16 +0000 (10:43 +0100)
committerStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 22 Nov 2021 09:17:07 +0000 (10:17 +0100)
Panic was:

Panic: file imem.c: line 65 (i_strconcat): assertion failed: (str1 != NULL)

src/lib-storage/mail-duplicate.c

index ff4fa5630b427f0238843f7929e7a18079245e49..407fe4aec91fc7eecc061d0063c002327582d8dd 100644 (file)
@@ -722,14 +722,17 @@ mail_duplicate_db_init(struct mail_user *user, const char *name)
 
        e_debug(db->event, "Initialize");
 
+       db->user = user;
+
        if (mail_user_get_home(user, &home) <= 0) {
                e_error(db->event, "User %s doesn't have home dir set, "
                        "disabling duplicate database", user->username);
+               return db;
        }
 
-       db->user = user;
-       db->path = home == NULL ? NULL :
-               i_strconcat(home, "/.dovecot.", name, NULL);
+       i_assert(home != NULL);
+
+       db->path = i_strconcat(home, "/.dovecot.", name, NULL);
        db->dotlock_set = default_mail_duplicate_dotlock_set;
 
        lock_dir = mail_user_get_volatile_dir(user);