]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2PS: Notify D-Bus about removal of a stale persistent group
authorAmit Khatri <amit7861234@gmail.com>
Thu, 3 Jan 2019 15:47:26 +0000 (21:17 +0530)
committerJouni Malinen <j@w1.fi>
Fri, 4 Jan 2019 11:19:12 +0000 (13:19 +0200)
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 <amit7861234@gmail.com>
wpa_supplicant/p2p_supplicant.c

index 304989467295054f5c197ae2ff9f95072d9272fd..88eb4e0b242c0ec99cbd27c3043b366bbb1bfcf4 100644 (file)
@@ -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;