WNM: Fix candidates count in BSS Transition Management Request
authorAvraham Stern <avraham.stern@intel.com>
Mon, 29 Feb 2016 12:29:59 +0000 (14:29 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 3 Mar 2016 15:09:26 +0000 (17:09 +0200)
In BSS Transition Management Request frame, it is possible that vendor
specific IEs are included after the candidate list. In this case the
candidates count was incremented for each IE although the candidate list
is already over which could result in adding all zeros candidates into
the neighbor list.

Fix that by incrementing the candidates count only for neighbor report
elements.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
wpa_supplicant/wnm_sta.c

index 4da9124..b8f717e 100644 (file)
@@ -1115,10 +1115,10 @@ static void ieee802_11_rx_bss_trans_mgmt_req(struct wpa_supplicant *wpa_s,
                                rep = &wpa_s->wnm_neighbor_report_elements[
                                        wpa_s->wnm_num_neighbor_report];
                                wnm_parse_neighbor_report(wpa_s, pos, len, rep);
+                               wpa_s->wnm_num_neighbor_report++;
                        }
 
                        pos += len;
-                       wpa_s->wnm_num_neighbor_report++;
                }
                wnm_sort_cand_list(wpa_s);
                wnm_dump_cand_list(wpa_s);