From: Amit Khatri Date: Thu, 3 Jan 2019 15:47:26 +0000 (+0530) Subject: P2PS: Notify D-Bus about removal of a stale persistent group X-Git-Tag: hostap_2_8~583 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69dc9cabccb9c72b910bc123831324e6ae59d165;p=thirdparty%2Fhostap.git P2PS: Notify D-Bus about removal of a stale persistent group During P2PS PD Request processing wpa_supplicant removes stale persistent groups, but it did not notify D-Bus to unregister object. This can result in leaving behind objects pointing to freed memory and memory leaks. Sometime it can cause a crash in wpa_config_get_all() function and DBUS_ERROR_OBJECT_PATH_IN_USE errors. Fix this by adding the missed notification to D-Bus code to unregister the object. Signed-off-by: Amit Khatri --- diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 304989467..88eb4e0b2 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -3918,6 +3918,10 @@ static int wpas_remove_stale_groups(void *ctx, const u8 *peer, const u8 *go, /* Remove stale persistent group */ if (s->mode != WPAS_MODE_P2P_GO || s->num_p2p_clients <= 1) { + wpa_dbg(wpa_s, MSG_DEBUG, + "P2P: Remove stale persistent group id=%d", + s->id); + wpas_notify_persistent_group_removed(wpa_s, s); wpa_config_remove_network(wpa_s->conf, s->id); save_config = 1; continue;