am d60e69ac: Check SSID length before association (http://b/issue?id=2198151)
Merge commit 'd60e69ac3931c3cf0f594670f8a0e0c7065b9b7f' into eclair-mr2
* commit 'd60e69ac3931c3cf0f594670f8a0e0c7065b9b7f':
Check SSID length before association (http://b/issue?id=2198151)
diff --git a/wilink_6_1/stad/src/Connection_Managment/sme.c b/wilink_6_1/stad/src/Connection_Managment/sme.c
index b48151d..454b724 100644
--- a/wilink_6_1/stad/src/Connection_Managment/sme.c
+++ b/wilink_6_1/stad/src/Connection_Managment/sme.c
@@ -39,6 +39,7 @@
#define __FILE_ID__ FILE_ID_41
+#include <linux/kernel.h>
#include "smePrivate.h"
#include "GenSM.h"
#include "scanResultTable.h"
@@ -353,6 +354,12 @@
break;
case SME_DESIRED_SSID_ACT_PARAM:
+ if (pParam->content.smeDesiredSSID.len > MAX_SSID_LEN)
+ {
+ printk("SSID length(%d) is out of range. Discard it.\n", pParam->content.smeDesiredSSID.len);
+ return PARAM_VALUE_NOT_VALID; /* ssid length is out of range */
+ }
+
pSme->bRadioOn = TI_TRUE;
/* if new value is different than current one */
@@ -388,6 +395,9 @@
pSme->bConstantScan = TI_FALSE;
}
+ /* printk("SME_DESIRED_SSID_ACT_PARAM: bRadioOn = %d, bRunning = %d\n", pSme->bRadioOn, pSme->bRunning); */
+ pSme->bRunning = TI_TRUE; /* set it to TRUE in case it's accidentally altered. */
+
/* now send a disconnect event */
genSM_Event (pSme->hSmeSm, SME_SM_EVENT_DISCONNECT, hSme);
break;