From 9d71283328fbad680cc74d9b287580e373eb4d6c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 5 Oct 2012 11:01:57 -0700 Subject: P2P: Fix network removal to select correct block If wpa_s->current_ssid is not set (e.g., after disconnection that did not result in immediate group removal), an incorrect group could have been removed since the network block iteration here could select the network block that is used to store persistent group credentials. Fix this by verifying that disabled != 2 to avoid picking the network block that could not have been the temporary P2P group. Bug: 7290511 Change-Id: Ia61bab3e11137ab2c0c34014e4d8d8bdee2a0469 --- wpa_supplicant/p2p_supplicant.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index a51254a..efc36cd 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -272,7 +272,7 @@ static int wpas_p2p_group_delete(struct wpa_supplicant *wpa_s, */ ssid = wpa_s->conf->ssid; while (ssid) { - if (ssid->p2p_group) + if (ssid->p2p_group && ssid->disabled != 2) break; ssid = ssid->next; } -- cgit v1.1