[PATCH 4/9] WNM: Do not scan when receiving malformed BSS Transition Management Request

Ilan Peer ilan.peer at intel.com
Mon Feb 29 04:30:00 PST 2016


From: Avraham Stern <avraham.stern at intel.com>

Verify that when the Candidate List Included bit is set in a BSS Transition
Management request, the candidate list actually includes at least one candidate.
If no candidates are included, reject the request without scanning.

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 wpa_supplicant/wnm_sta.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
index b8f717e..b6d8f60 100644
--- a/wpa_supplicant/wnm_sta.c
+++ b/wpa_supplicant/wnm_sta.c
@@ -1120,6 +1120,17 @@ static void ieee802_11_rx_bss_trans_mgmt_req(struct wpa_supplicant *wpa_s,
 
 			pos += len;
 		}
+
+		if (!wpa_s->wnm_num_neighbor_report) {
+			wpa_printf(MSG_DEBUG,
+				   "WNM: Candidate list included bit is set, but no candidates found");
+			wnm_send_bss_transition_mgmt_resp(wpa_s,
+							  wpa_s->wnm_dialog_token,
+							  WNM_BSS_TM_REJECT_NO_SUITABLE_CANDIDATES,
+							  0, NULL);
+			return;
+		}
+
 		wnm_sort_cand_list(wpa_s);
 		wnm_dump_cand_list(wpa_s);
 		valid_ms = valid_int * beacon_int * 128 / 125;
-- 
1.9.1




More information about the Hostap mailing list