From: Jouni Malinen Date: Sat, 27 Dec 2014 19:00:11 +0000 (+0200) Subject: D-Bus: Fix P2P persistent group removal from non-D-Bus triggers X-Git-Tag: hostap_2_4~640 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f136bc126f2ee34f0d49921815c2efdb539aeae;p=thirdparty%2Fhostap.git D-Bus: Fix P2P persistent group removal from non-D-Bus triggers It is possible for the persistent group object to be added and removed by non-D-Bus triggers (e.g., ctrl_iface commands). The add part was already handled, but removal was not. That resulted in memory leaks when a P2P persistent group was removed without using an explicit D-Bus command for this even if the object was added without D-Bus involvement. Signed-off-by: Jouni Malinen --- diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c index de33019ea..df1ce9e0c 100644 --- a/wpa_supplicant/notify.c +++ b/wpa_supplicant/notify.c @@ -316,6 +316,9 @@ void wpas_notify_network_removed(struct wpa_supplicant *wpa_s, wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); if (!ssid->p2p_group && wpa_s->global->p2p_group_formation != wpa_s) wpas_dbus_unregister_network(wpa_s, ssid->id); + if (network_is_persistent_group(ssid)) + wpas_notify_persistent_group_removed(wpa_s, ssid); + wpas_p2p_network_removed(wpa_s, ssid); }