]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Fix crash on passdb lookup when all passdbs were skipped
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 30 May 2017 08:30:10 +0000 (11:30 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 30 May 2017 08:30:10 +0000 (11:30 +0300)
Finishes the fix in 614f5b6febaf3c825f9200ab3b62d9d047197b0e

Fixes:
auth: Panic: file auth-request.c: line 2493 (get_log_prefix): assertion failed: (auth_request->mech != NULL)

src/auth/auth-request.c

index 6591cd9b4229360d6f06399f6c172a32a383997e..b850fe09176eecbe6c264bef4a561998633e4171 100644 (file)
@@ -1077,7 +1077,8 @@ void auth_request_verify_plain_continue(struct auth_request *request,
        request->passdb = passdb;
 
        if (passdb == NULL) {
-               auth_request_log_error(request, AUTH_SUBSYS_MECH,
+               auth_request_log_error(request,
+                       request->mech != NULL ? AUTH_SUBSYS_MECH : "none",
                        "All password databases were skipped");
                callback(PASSDB_RESULT_INTERNAL_FAILURE, request);
                return;
@@ -1256,7 +1257,8 @@ void auth_request_lookup_credentials_policy_continue(struct auth_request *reques
        request->passdb = passdb;
 
        if (passdb == NULL) {
-               auth_request_log_error(request, AUTH_SUBSYS_MECH,
+               auth_request_log_error(request,
+                       request->mech != NULL ? AUTH_SUBSYS_MECH : "none",
                        "All password databases were skipped");
                callback(PASSDB_RESULT_INTERNAL_FAILURE, NULL, 0, request);
                return;