diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2011-11-30 14:44:23 +0200 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2011-11-30 14:44:23 +0200 |
commit | d6d731b848d8d44b5a1db2e6d6b56625f2b83859 (patch) | |
tree | 02cc1488d84efa158fcac6ff110b71da322e14cb /src/wps | |
parent | 79b8c60f811f2a5d65d2f44889b2ef4f82874f90 (diff) | |
download | external_wpa_supplicant_8_ti-d6d731b848d8d44b5a1db2e6d6b56625f2b83859.zip external_wpa_supplicant_8_ti-d6d731b848d8d44b5a1db2e6d6b56625f2b83859.tar.gz external_wpa_supplicant_8_ti-d6d731b848d8d44b5a1db2e6d6b56625f2b83859.tar.bz2 |
WPS ER: Fix segfault in some selected registrar change cases
Commit 628d54639a90f779fd5c98c31e049638de56b17e introduced number
of new WPS related ctrl_iface messages to hostapd. Some of these
were for ER events which do not make any sense to hostapd that
cannot operate as an ER. The WPS_EV_ER_SET_SELECTED_REGISTRAR one
from wps_registrar_sel_registrar_changed_event() was especially
problematic since it can cause wpa_supplicant ER code segfault due
to missing event data.
Revert all the ER specific changes from commit
628d54639a90f779fd5c98c31e049638de56b17e to get rid of the segfault
and undesired extra code in hostapd.
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src/wps')
-rw-r--r-- | src/wps/wps_common.c | 9 | ||||
-rw-r--r-- | src/wps/wps_i.h | 1 | ||||
-rw-r--r-- | src/wps/wps_registrar.c | 1 |
3 files changed, 0 insertions, 11 deletions
diff --git a/src/wps/wps_common.c b/src/wps/wps_common.c index a8942e9..505837b 100644 --- a/src/wps/wps_common.c +++ b/src/wps/wps_common.c @@ -312,15 +312,6 @@ void wps_pbc_timeout_event(struct wps_context *wps) } -void wps_registrar_sel_registrar_changed_event(struct wps_context *wps) -{ - if (wps->event_cb == NULL) - return; - - wps->event_cb(wps->cb_ctx, WPS_EV_ER_SET_SELECTED_REGISTRAR, NULL); -} - - #ifdef CONFIG_WPS_OOB static struct wpabuf * wps_get_oob_cred(struct wps_context *wps) diff --git a/src/wps/wps_i.h b/src/wps/wps_i.h index a147da1..bdb6da2 100644 --- a/src/wps/wps_i.h +++ b/src/wps/wps_i.h @@ -228,7 +228,6 @@ void wps_success_event(struct wps_context *wps); void wps_pwd_auth_fail_event(struct wps_context *wps, int enrollee, int part); void wps_pbc_overlap_event(struct wps_context *wps); void wps_pbc_timeout_event(struct wps_context *wps); -void wps_registrar_sel_registrar_changed_event(struct wps_context *wps); extern struct oob_device_data oob_ufd_device_data; extern struct oob_device_data oob_nfc_device_data; diff --git a/src/wps/wps_registrar.c b/src/wps/wps_registrar.c index 4a49197..66ed410 100644 --- a/src/wps/wps_registrar.c +++ b/src/wps/wps_registrar.c @@ -3137,7 +3137,6 @@ static void wps_registrar_set_selected_timeout(void *eloop_ctx, "unselect internal Registrar"); reg->selected_registrar = 0; reg->pbc = 0; - wps_registrar_sel_registrar_changed_event(reg->wps); wps_registrar_selected_registrar_changed(reg); } |