From a73c5c03129fb401ea1316a3d13ede0c249b6932 Mon Sep 17 00:00:00 2001 From: Sajia Date: Tue, 18 Mar 2025 16:44:08 +0530 Subject: [PATCH] fix(wifi): Fix crash when set config is called with changed password Closes https://github.com/espressif/esp-idf/issues/15584 --- components/wpa_supplicant/src/rsn_supp/wpa.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/wpa_supplicant/src/rsn_supp/wpa.c b/components/wpa_supplicant/src/rsn_supp/wpa.c index 6161d0b8c1..3c39eeb97e 100644 --- a/components/wpa_supplicant/src/rsn_supp/wpa.c +++ b/components/wpa_supplicant/src/rsn_supp/wpa.c @@ -2167,11 +2167,13 @@ void wpa_sm_deinit(void) { struct wpa_sm *sm = &gWpaSm; pmksa_cache_deinit(sm->pmksa); + sm->pmksa = NULL; os_free(sm->ap_rsnxe); sm->ap_rsnxe = NULL; os_free(sm->assoc_rsnxe); wpa_sm_drop_sa(sm); sm->assoc_rsnxe = NULL; + memset(sm, 0, sizeof(*sm)); } @@ -2998,6 +3000,8 @@ fail: void wpa_sm_pmksa_cache_flush(struct wpa_sm *sm, void *network_ctx) { - pmksa_cache_flush(sm->pmksa, network_ctx, NULL, 0); + if (sm->pmksa) { + pmksa_cache_flush(sm->pmksa, network_ctx, NULL, 0); + } } #endif // ESP_SUPPLICANT