From 11973b268229a754cd930b0a3a7cf5e89202c2aa Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 26 Dec 2014 18:19:36 +0200 Subject: [PATCH] D-Bus: Fix P2P peer joined/disconnected handlers It is possible for the peer to be a non-P2P device and as such, for p2p_dev_addr to be NULL. This resulted in NULL pointer dereference if D-Bus interface was enabled for the interface when a legacy STA joined a group. Signed-off-by: Jouni Malinen --- wpa_supplicant/notify.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c index c8cfa4700..de33019ea 100644 --- a/wpa_supplicant/notify.c +++ b/wpa_supplicant/notify.c @@ -648,7 +648,8 @@ static void wpas_notify_ap_sta_authorized(struct wpa_supplicant *wpa_s, * Create 'peer-joined' signal on group object -- will also * check P2P itself. */ - wpas_dbus_signal_p2p_peer_joined(wpa_s, p2p_dev_addr); + if (p2p_dev_addr) + wpas_dbus_signal_p2p_peer_joined(wpa_s, p2p_dev_addr); #endif /* CONFIG_P2P */ /* Notify listeners a new station has been authorized */ @@ -665,7 +666,8 @@ static void wpas_notify_ap_sta_deauthorized(struct wpa_supplicant *wpa_s, * Create 'peer-disconnected' signal on group object if this * is a P2P group. */ - wpas_dbus_signal_p2p_peer_disconnected(wpa_s, p2p_dev_addr); + if (p2p_dev_addr) + wpas_dbus_signal_p2p_peer_disconnected(wpa_s, p2p_dev_addr); #endif /* CONFIG_P2P */ /* Notify listeners a station has been deauthorized */