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
struct wpa_supplicant *wpa_s = ctx;
struct wps_event_fail *fail = &data->fail;
if (event == WPS_EV_FAIL && wpa_s->parent && wpa_s->parent != wpa_s &&
wpa_s == wpa_s->global->p2p_group_formation) {
if (event == WPS_EV_FAIL) {
struct wps_event_fail *fail = &data->fail;
/*
* src/ap/wps_hostapd.c has already sent this on the main
* interface, so only send on the parent interface here if
* needed.
*/
wpa_msg(wpa_s->parent, MSG_INFO, WPS_EVENT_FAIL
"msg=%d config_error=%d",
fail->msg, fail->config_error);
if (wpa_s->parent && wpa_s->parent != wpa_s &&
wpa_s == wpa_s->global->p2p_group_formation) {
/*
* src/ap/wps_hostapd.c has already sent this on the
* main interface, so only send on the parent interface
* here if needed.
*/
wpa_msg(wpa_s->parent, MSG_INFO, WPS_EVENT_FAIL
"msg=%d config_error=%d",
fail->msg, fail->config_error);
}
wpas_p2p_wps_failed(wpa_s, fail);
}
wpas_p2p_wps_failed(wpa_s, fail);
#endif /* CONFIG_P2P */
}