]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Add explicit check for ssid->p2p_client_list != NULL
authorJouni Malinen <j@w1.fi>
Wed, 2 Jul 2014 21:53:13 +0000 (00:53 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 2 Jul 2014 21:53:13 +0000 (00:53 +0300)
This would not really be needed since these functions check the pointer
above. However, this seems to be too difficult for some static analyzer,
so add the extra check to avoid false reports.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/p2p_supplicant.c

index 1ad1a957865c8f64ec62d43b31b1d850cbbbfd05..0af5e3264acccd057c0b510215d5bbd1ea7c8d08 100644 (file)
@@ -786,7 +786,7 @@ static void wpas_p2p_add_persistent_group_client(struct wpa_supplicant *wpa_s,
                os_memcpy(n + s->num_p2p_clients * ETH_ALEN, addr, ETH_ALEN);
                s->p2p_client_list = n;
                s->num_p2p_clients++;
-       } else if (!found) {
+       } else if (!found && s->p2p_client_list) {
                /* Not enough room for an additional entry - drop the oldest
                 * entry */
                os_memmove(s->p2p_client_list,
@@ -3188,7 +3188,7 @@ static void wpas_remove_persistent_peer(struct wpa_supplicant *wpa_s,
                              ETH_ALEN) == 0)
                        break;
        }
-       if (i >= ssid->num_p2p_clients) {
+       if (i >= ssid->num_p2p_clients || !ssid->p2p_client_list) {
                if (ssid->mode != WPAS_MODE_P2P_GO &&
                    os_memcmp(ssid->bssid, peer, ETH_ALEN) == 0) {
                        wpa_printf(MSG_DEBUG, "P2P: Remove persistent group %d "