Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6290:b04d136f8174 HEAD
If sending auth request to dovecot-auth fails, don't crash.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 13 Aug 2007 18:00:19 +0300 |
parents | 4a57baddc8b8 |
children | 2f960cea48b1 |
files | src/lib-auth/auth-server-request.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-auth/auth-server-request.c Mon Aug 13 17:19:59 2007 +0300 +++ b/src/lib-auth/auth-server-request.c Mon Aug 13 18:00:19 2007 +0300 @@ -326,6 +326,8 @@ struct auth_server_connection *conn; struct auth_request *request; + *error_r = "Temporary authentication failure."; + if (id == NULL) { conn = auth_server_connection_find_mech(client, request_info->mech, @@ -365,10 +367,12 @@ request->callback = callback; request->context = context; - hash_insert(conn->requests, POINTER_CAST(request->id), request); - - if (auth_server_send_new_request(conn, request, error_r) < 0) + if (auth_server_send_new_request(conn, request, error_r) == 0) + hash_insert(conn->requests, POINTER_CAST(request->id), request); + else { + auth_client_request_free(request); request = NULL; + } return request; }