dovecot-2.2: auth: Don't crash if master user login is attempted...

dovecot at dovecot.org dovecot at dovecot.org
Wed Dec 17 13:44:07 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/dd2eebe35a3a
changeset: 18130:dd2eebe35a3a
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Dec 17 14:43:30 2014 +0100
description:
auth: Don't crash if master user login is attempted without master=yes passdbs

diffstat:

 src/auth/auth-request.c |  9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r 0d870753d9ab -r dd2eebe35a3a src/auth/auth-request.c
--- a/src/auth/auth-request.c	Wed Dec 17 13:39:57 2014 +0100
+++ b/src/auth/auth-request.c	Wed Dec 17 14:43:30 2014 +0100
@@ -1249,6 +1249,8 @@
                                      const char *username,
                                      const char **error_r)
 {
+	struct auth_passdb *master_passdb;
+
         i_assert(*username != '\0');
 
 	if (strcmp(username, request->user) == 0) {
@@ -1258,7 +1260,12 @@
 	}
 
         /* lookup request->user from masterdb first */
-        request->passdb = auth_request_get_auth(request)->masterdbs;
+	master_passdb = auth_request_get_auth(request)->masterdbs;
+	if (master_passdb == NULL) {
+		*error_r = "Master user login attempted without master passdbs";
+		return FALSE;
+	}
+	request->passdb = master_passdb;
 
         request->requested_login_user =
                 auth_request_fix_username(request, username, error_r);


More information about the dovecot-cvs mailing list