EAPOL auth: Move radius_cui/identity freeing to eapol_auth_free()
authorJouni Malinen <j@w1.fi>
Sat, 6 Feb 2016 14:31:28 +0000 (16:31 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 6 Feb 2016 14:32:22 +0000 (16:32 +0200)
These can get allocated within eapol_auth_alloc(), so it is more logical
to free them in eapol_auth_free() instead of ieee802_1x_free_station()
that ends up calling eapol_auth_free().

Signed-off-by: Jouni Malinen <j@w1.fi>
src/ap/ieee802_1x.c
src/eapol_auth/eapol_auth_sm.c

index 607f941..d09267a 100644 (file)
@@ -1165,10 +1165,8 @@ void ieee802_1x_free_station(struct hostapd_data *hapd, struct sta_info *sta)
 #ifndef CONFIG_NO_RADIUS
        radius_msg_free(sm->last_recv_radius);
        radius_free_class(&sm->radius_class);
-       wpabuf_free(sm->radius_cui);
 #endif /* CONFIG_NO_RADIUS */
 
-       os_free(sm->identity);
        eapol_auth_free(sm);
 }
 
index ff33d28..cdbec4e 100644 (file)
@@ -884,6 +884,9 @@ void eapol_auth_free(struct eapol_state_machine *sm)
        eloop_cancel_timeout(eapol_sm_step_cb, sm, NULL);
        if (sm->eap)
                eap_server_sm_deinit(sm->eap);
+
+       wpabuf_free(sm->radius_cui);
+       os_free(sm->identity);
        os_free(sm);
 }