]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail_user_get_home(): Make sure user_r is always set.
authorTimo Sirainen <tss@iki.fi>
Fri, 15 Oct 2010 23:34:28 +0000 (00:34 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 15 Oct 2010 23:34:28 +0000 (00:34 +0100)
src/lib-storage/mail-user.c

index 1f71cd0e83c73149c306a3d7d16a64a92fac1720..30071cfeefa9993a2690c33df8945c76be614d80 100644 (file)
@@ -270,6 +270,7 @@ int mail_user_get_home(struct mail_user *user, const char **home_r)
                *home_r = user->_home;
                return user->_home != NULL ? 1 : 0;
        }
+       *home_r = NULL;
 
        if (mail_user_auth_master_conn == NULL)
                return 0;
@@ -278,9 +279,7 @@ int mail_user_get_home(struct mail_user *user, const char **home_r)
        ret = auth_master_user_lookup(mail_user_auth_master_conn,
                                      user->username, &info, userdb_pool,
                                      &username, &fields);
-       if (ret < 0)
-               *home_r = NULL;
-       else {
+       if (ret >= 0) {
                auth_user_fields_parse(fields, userdb_pool, &reply);
                user->_home = ret == 0 ? NULL :
                        p_strdup(user->pool, reply.home);