From ea571bc6ac92118dc729897984b06ec049f27545 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 22 Apr 2019 13:16:39 -0700 Subject: [PATCH] netdev: free OWE SM once protocol has completed The OWE SM is not needed once the OWE protocol completes. We can free it immediately in netdev_owe_complete (unless retrying). --- src/netdev.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/netdev.c b/src/netdev.c index 18d37949..b389c920 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -2725,7 +2725,8 @@ static void netdev_owe_complete(uint16_t status, void *user_data) netdev->result = NETDEV_RESULT_ASSOCIATION_FAILED; netdev->last_code = status; netdev->expect_connect_failure = true; - return; + + goto free_owe; } netdev->ignore_connect_event = true; @@ -2733,6 +2734,10 @@ static void netdev_owe_complete(uint16_t status, void *user_data) netdev->sm = eapol_sm_new(netdev->handshake); eapol_register(netdev->sm); eapol_start(netdev->sm); + +free_owe: + owe_sm_free(netdev->owe); + netdev->owe = NULL; } static void netdev_fils_tx_authenticate(const uint8_t *body,