# HG changeset patch # User Timo Sirainen # Date 1187017219 -10800 # Node ID b04d136f8174701ce2d18f04465a9367b20fea4c # Parent 4a57baddc8b89fb518eb77a9e2d0927473e1b185 If sending auth request to dovecot-auth fails, don't crash. diff -r 4a57baddc8b8 -r b04d136f8174 src/lib-auth/auth-server-request.c --- 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; }