aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2012-10-05 11:01:57 -0700
committerIrfan Sheriff <isheriff@google.com>2012-10-05 11:02:25 -0700
commit9d71283328fbad680cc74d9b287580e373eb4d6c (patch)
treeef0520c46824bfae1d128351b25d586259cf4a90 /wpa_supplicant
parentadddfc48d2d7bfa2b1a2405ab8f404b6383ec236 (diff)
downloadexternal_wpa_supplicant_8-9d71283328fbad680cc74d9b287580e373eb4d6c.zip
external_wpa_supplicant_8-9d71283328fbad680cc74d9b287580e373eb4d6c.tar.gz
external_wpa_supplicant_8-9d71283328fbad680cc74d9b287580e373eb4d6c.tar.bz2
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
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/p2p_supplicant.c2
1 files changed, 1 insertions, 1 deletions
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;
}