P2P: Fix WpsFailed signal in P2P D-Bus

Fix a NULL pointer dereference in commit
3734552f15 in the case of PBC overlap and
timeout case.

Signed-off-by: Jean-Michel.Bachot <jean-michelx.bachot@intel.com>
Signed-off-by: Jayant Sane <jayant.sane@intel.com>
Signed-off-by: Angie Chinchilla <angie.v.chinchilla@intel.com>
This commit is contained in:
Jean-Michel.Bachot 2011-06-25 15:26:04 +03:00 committed by Jouni Malinen
parent 2463ba70e2
commit 8be6450cb6

View File

@ -226,21 +226,23 @@ static void ap_wps_event_cb(void *ctx, enum wps_event event,
{ {
#ifdef CONFIG_P2P #ifdef CONFIG_P2P
struct wpa_supplicant *wpa_s = ctx; struct wpa_supplicant *wpa_s = ctx;
if (event == WPS_EV_FAIL) {
struct wps_event_fail *fail = &data->fail; struct wps_event_fail *fail = &data->fail;
if (event == WPS_EV_FAIL && wpa_s->parent && wpa_s->parent != wpa_s && if (wpa_s->parent && wpa_s->parent != wpa_s &&
wpa_s == wpa_s->global->p2p_group_formation) { wpa_s == wpa_s->global->p2p_group_formation) {
/* /*
* src/ap/wps_hostapd.c has already sent this on the main * src/ap/wps_hostapd.c has already sent this on the
* interface, so only send on the parent interface here if * main interface, so only send on the parent interface
* needed. * here if needed.
*/ */
wpa_msg(wpa_s->parent, MSG_INFO, WPS_EVENT_FAIL wpa_msg(wpa_s->parent, MSG_INFO, WPS_EVENT_FAIL
"msg=%d config_error=%d", "msg=%d config_error=%d",
fail->msg, fail->config_error); fail->msg, fail->config_error);
} }
wpas_p2p_wps_failed(wpa_s, fail); wpas_p2p_wps_failed(wpa_s, fail);
}
#endif /* CONFIG_P2P */ #endif /* CONFIG_P2P */
} }