From: Jouni Malinen Date: Sun, 15 Nov 2009 20:52:17 +0000 (+0200) Subject: WPS ER: Deinit ER before WPS registrar/context X-Git-Tag: hostap_0_7_0~39 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a6b63078539d305d958c65a1f284bd20b8a938d7;p=thirdparty%2Fhostap.git WPS ER: Deinit ER before WPS registrar/context ER code may still touch WPS registrar/context during deinit, so better do that before freeing the other WPS components. --- diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index bc54c0df1..5f1a3c631 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -898,6 +898,11 @@ void wpas_wps_deinit(struct wpa_supplicant *wpa_s) if (wpa_s->wps == NULL) return; +#ifdef CONFIG_WPS_ER + wps_er_deinit(wpa_s->wps_er); + wpa_s->wps_er = NULL; +#endif /* CONFIG_WPS_ER */ + wps_registrar_deinit(wpa_s->wps->registrar); wpabuf_free(wpa_s->wps->dh_pubkey); wpabuf_free(wpa_s->wps->dh_privkey); @@ -906,11 +911,6 @@ void wpas_wps_deinit(struct wpa_supplicant *wpa_s) os_free(wpa_s->wps->network_key); os_free(wpa_s->wps); wpa_s->wps = NULL; - -#ifdef CONFIG_WPS_ER - wps_er_deinit(wpa_s->wps_er); - wpa_s->wps_er = NULL; -#endif /* CONFIG_WPS_ER */ }