]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Fix network removal on P2P connect to select correct block
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 5 Oct 2012 17:37:49 +0000 (20:37 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 5 Oct 2012 17:37:49 +0000 (20:37 +0300)
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.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

wpa_supplicant/p2p_supplicant.c

index 9964047529cf74e6dd473f3269f5a1d83cf34b31..06cbaf58430b9e894fd678a40555cca91bfd2878 100644 (file)
@@ -260,7 +260,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;
                }