aboutsummaryrefslogtreecommitdiffstats
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
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
-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;
}