]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix RADIUS server deinit to cancel timeout for session removal
authorJouni Malinen <j@w1.fi>
Sat, 19 Dec 2009 16:51:10 +0000 (18:51 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 19 Dec 2009 16:52:15 +0000 (18:52 +0200)
src/radius/radius_server.c

index 93710f98a1ac5b5f771f044623c1d160579c033f..b1790c41d31f045eb04ecb99852f1a5843dcba57 100644 (file)
@@ -296,7 +296,8 @@ wpa_hexdump_ascii(MSG_MSGDUMP, "RADIUS SRV: " args)
 
 
 static void radius_server_session_timeout(void *eloop_ctx, void *timeout_ctx);
-
+static void radius_server_session_remove_timeout(void *eloop_ctx,
+                                                void *timeout_ctx);
 
 
 static struct radius_client *
@@ -358,6 +359,7 @@ static void radius_server_session_free(struct radius_server_data *data,
                                       struct radius_session *sess)
 {
        eloop_cancel_timeout(radius_server_session_timeout, data, sess);
+       eloop_cancel_timeout(radius_server_session_remove_timeout, data, sess);
        eap_server_sm_deinit(sess->eap);
        radius_msg_free(sess->last_msg);
        os_free(sess->last_from_addr);
@@ -367,9 +369,6 @@ static void radius_server_session_free(struct radius_server_data *data,
 }
 
 
-static void radius_server_session_remove_timeout(void *eloop_ctx,
-                                                void *timeout_ctx);
-
 static void radius_server_session_remove(struct radius_server_data *data,
                                         struct radius_session *sess)
 {