Mercurial > dovecot > core-2.2
changeset 18130:dd2eebe35a3a
auth: Don't crash if master user login is attempted without master=yes passdbs
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 17 Dec 2014 14:43:30 +0100 |
parents | 0d870753d9ab |
children | 6078354e6238 |
files | src/auth/auth-request.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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);