]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
mka: Fix RETIRE state deletion of SAs
authorMike Siedzik <msiedzik@extremenetworks.com>
Tue, 20 Feb 2018 19:28:41 +0000 (14:28 -0500)
committerJouni Malinen <j@w1.fi>
Wed, 26 Dec 2018 14:42:25 +0000 (16:42 +0200)
Per IEEE Std 802.1X-2010, Figure 12-2 (CP state machine), deleteSAs(oki)
is used upon entering RETIRE. Do that in addition to freeing sm->oki.

Signed-off-by: Michael Siedzik <msiedzik@extremenetworks.com>
src/pae/ieee802_1x_cp.c

index 360fcd3f5fcdf29d7e7372cf83969f98f4fdb636..41ca3f0f5f8160c4ff5ca57cb4243fe4c4ee7ab8 100644 (file)
@@ -320,8 +320,11 @@ SM_STATE(CP, RETIRE)
        SM_ENTRY(CP, RETIRE);
        /* RETIRE state machine not keep with Figure 12-2 in
         * IEEE Std 802.1X-2010 */
-       os_free(sm->oki);
-       sm->oki = NULL;
+       if (sm->oki) {
+               ieee802_1x_kay_delete_sas(sm->kay, sm->oki);
+               os_free(sm->oki);
+               sm->oki = NULL;
+       }
        sm->orx = FALSE;
        sm->otx = FALSE;
        ieee802_1x_kay_set_old_sa_attr(sm->kay, sm->oki, sm->oan,