[dovecot-cvs] dovecot/src/login-common auth-connection.c,1.7,1.8
cras at procontrol.fi
cras at procontrol.fi
Mon Feb 10 09:37:25 EET 2003
Update of /home/cvs/dovecot/src/login-common
In directory danu:/tmp/cvs-serv30667
Modified Files:
auth-connection.c
Log Message:
Crashfix.
Index: auth-connection.c
===================================================================
RCS file: /home/cvs/dovecot/src/login-common/auth-connection.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- auth-connection.c 8 Feb 2003 14:10:40 -0000 1.7
+++ auth-connection.c 10 Feb 2003 07:37:23 -0000 1.8
@@ -87,12 +87,6 @@
return conn;
}
-static void request_destroy(struct auth_request *request)
-{
- hash_remove(request->conn->requests, POINTER_CAST(request->id));
- i_free(request);
-}
-
static void request_hash_remove(void *key __attr_unused__, void *value,
void *context __attr_unused__)
{
@@ -106,7 +100,7 @@
{
struct auth_request *request = value;
- request_destroy(request);
+ i_free(request);
}
static void auth_connection_destroy(struct auth_connection *conn)
@@ -219,8 +213,10 @@
request->callback(request, reply, data, request->context);
- if (reply->result != AUTH_LOGIN_RESULT_CONTINUE)
- request_destroy(request);
+ if (reply->result != AUTH_LOGIN_RESULT_CONTINUE) {
+ hash_remove(conn->requests, POINTER_CAST(request->id));
+ i_free(request);
+ }
}
static void auth_input(void *context)
@@ -346,7 +342,11 @@
void auth_abort_request(struct auth_request *request)
{
- request_destroy(request);
+ void *id = POINTER_CAST(request->id);
+
+ if (hash_lookup(request->conn->requests, id) != NULL)
+ hash_remove(request->conn->requests, id);
+ i_free(request);
}
void auth_request_ref(struct auth_request *request)
More information about the dovecot-cvs
mailing list