aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-05-15 11:31:58 -0400
committerLuciano Coelho <coelho@ti.com>2012-06-06 12:33:28 -0400
commit587cc286c8a8e22bbe4521c331b88d62d0cb1076 (patch)
tree2cc4acb16f33851fda51222afc902a126848a566 /drivers/net/wireless/ti
parent78f85f5066b721666f869d537eaca6a0818aa301 (diff)
wlcore: compare ssid_len before comparing ssids
When comparing 2 ssids the ssid_len must be taken into account. Otherwise, a substring will be treated as equal. This bug might cause ssids to get scanned as public ssids (rather than hidden), resulting in broadcast probe request (instead of ssid-specific ones) Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r--drivers/net/wireless/ti/wlcore/scan.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c
index 94668d8ba14e..e1dbe812615f 100644
--- a/drivers/net/wireless/ti/wlcore/scan.c
+++ b/drivers/net/wireless/ti/wlcore/scan.c
@@ -605,7 +605,9 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
605 continue; 605 continue;
606 606
607 for (j = 0; j < cmd->n_ssids; j++) 607 for (j = 0; j < cmd->n_ssids; j++)
608 if (!memcmp(req->ssids[i].ssid, 608 if ((req->ssids[i].ssid_len ==
609 req->ssids[j].ssid_len) &&
610 !memcmp(req->ssids[i].ssid,
609 cmd->ssids[j].ssid, 611 cmd->ssids[j].ssid,
610 req->ssids[i].ssid_len)) { 612 req->ssids[i].ssid_len)) {
611 cmd->ssids[j].type = 613 cmd->ssids[j].type =