From 5f136bc126f2ee34f0d49921815c2efdb539aeae Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 27 Dec 2014 21:00:11 +0200 Subject: [PATCH] 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 --- wpa_supplicant/notify.c | 3 +++ 1 file changed, 3 insertions(+) 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); }