]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
D-Bus: Fix P2P peer joined/disconnected handlers
authorJouni Malinen <j@w1.fi>
Fri, 26 Dec 2014 16:19:36 +0000 (18:19 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 29 Dec 2014 13:49:05 +0000 (15:49 +0200)
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 <j@w1.fi>
wpa_supplicant/notify.c

index c8cfa4700a3aade4f1fd893391b387f578be7bc8..de33019ea2589011ecb5a6719ee8add5153f5b9c 100644 (file)
@@ -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 */