Fix setting memory corruption in osRgstry.c

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wilink_6_1/config/tiwlan.ini b/wilink_6_1/config/tiwlan.ini
index d0656cf..5d0b095 100644
--- a/wilink_6_1/config/tiwlan.ini
+++ b/wilink_6_1/config/tiwlan.ini
@@ -115,7 +115,7 @@
 #   Byte #6: Console
 #############################################################
 
-ReportSeverityTable = "0001101"
+ReportSeverityTable = 00001101
 
 BeaconReceiveTime = 50
 
diff --git a/wilink_6_1/platforms/os/common/src/osRgstry.c b/wilink_6_1/platforms/os/common/src/osRgstry.c
index 94d315f..924b8b3 100644
--- a/wilink_6_1/platforms/os/common/src/osRgstry.c
+++ b/wilink_6_1/platforms/os/common/src/osRgstry.c
@@ -1003,13 +1003,11 @@
     static    TI_UINT8 defRxRssiAndProcessCompensation_2_4G[] = "ec,f6,00,0c,18,f8,fc,00,08,10,f0,f8,00,0a,14";
     static    TI_UINT8 tmpRssiTableSize = RSSI_AND_PROCESS_COMPENSATION_TABLE_SIZE;
     static    TI_UINT8 staRssiAndProcessCompensation[RSSI_AND_PROCESS_COMPENSATION_TABLE_SIZE] ;
-    static    TI_UINT8 RssiSize = 113;
+    static    TI_UINT8 RssiSize = 44;
 
     /* defaults values for CoexActivity table*/
     /* example: WLAN(0), BT_VOICE(0), defPrio(20), raisePrio(25), minServ(0), maxServ(1ms) */
     static    TI_UINT8 defCoexActivityTable[] = ""; /* Sample "01 00 14 19 0000 0001 " */
-    static    TI_UINT8 strCoexActivityTable[COEX_ACTIVITY_TABLE_MAX_NUM*COEX_ACTIVITY_TABLE_SIZE] ;
-    static    TI_UINT8 strCoexActivitySize = 0;
 
     static    TI_UINT32 filterOffset = 0;
     static    char filterMask[16];
@@ -1023,7 +1021,7 @@
     static    TI_UINT8   ScanControlTable5Tmp[2 * NUM_OF_CHANNELS_5];
     static    TI_UINT8   ScanControlTable24Def[2* NUM_OF_CHANNELS_24] = "FFFFFFFFFFFFFFFFFFFFFFFFFFFF";
     static    TI_UINT8   ScanControlTable5Def[2 * NUM_OF_CHANNELS_5] = "FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000000000000000000000000000000000000000000000000000000000000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000000000FF000000FF000000FF000000FF000000FF000000000000000000000000000000";
-    static    TI_UINT8   reportSeverityTableDefaults[REPORT_SEVERITY_MAX] = "0001101";
+    static    TI_UINT8   reportSeverityTableDefaults[REPORT_SEVERITY_MAX+1] = "00001101";
     static    TI_UINT16  reportSeverityTableLen;
 
     static    TI_UINT32  uWiFiMode = 0;
@@ -2216,12 +2214,21 @@
                             (TI_UINT8*)(&p->twdInitParams.tGeneral.halCoexActivityTable.numOfElements) );
 
     /* Read the CoexActivity table string */
-    regReadStringParameter(pAdapter, &STRCoexActivityTable ,
+    {
+        TI_UINT8 *strCoexActivityTable;
+        TI_UINT8 strCoexActivitySize = 0;
+
+        strCoexActivityTable = os_memoryAlloc(pAdapter, COEX_ACTIVITY_TABLE_MAX_NUM*COEX_ACTIVITY_TABLE_SIZE);
+        if (strCoexActivityTable) {
+            regReadStringParameter(pAdapter, &STRCoexActivityTable ,
                             (TI_INT8*)(defCoexActivityTable), strCoexActivitySize,
                             (TI_UINT8*)strCoexActivityTable, &strCoexActivitySize);
 
-    /* Convert the CoexActivity table string */
-    regConvertStringtoCoexActivityTable(strCoexActivityTable , p->twdInitParams.tGeneral.halCoexActivityTable.numOfElements, &p->twdInitParams.tGeneral.halCoexActivityTable.entry[0] , strCoexActivitySize);
+            /* Convert the CoexActivity table string */
+            regConvertStringtoCoexActivityTable(strCoexActivityTable , p->twdInitParams.tGeneral.halCoexActivityTable.numOfElements, &p->twdInitParams.tGeneral.halCoexActivityTable.entry[0] , strCoexActivitySize);
+            os_memoryFree(pAdapter, strCoexActivityTable, COEX_ACTIVITY_TABLE_MAX_NUM*COEX_ACTIVITY_TABLE_SIZE);
+        }
+    }
 
     /*
     Power Manager
@@ -4990,24 +4997,23 @@
                      TI_UINT8               uParameterSize,
                      TI_BOOL                bHex)
 {
+    static CHAR Buffer[MAX_KEY_BUFFER_LEN];
     TI_UINT32 parameterIndex = 0;
     int myNumber;
 
     TI_UINT32 index;
     TI_UINT32 bufferSize = 0;
 
-    char tempBuffer[15];
+    char tempBuffer[16];
     char *pTempBuffer = tempBuffer;
     TI_UINT32 tempBufferIndex = 0;
 
     TI_BOOL isDigit;
     TI_BOOL numberReady;
     TI_BOOL isSign;
-    TI_BOOL    endOfLine;
+    TI_BOOL endOfLine;
 
     TI_UINT32 debugInfo = 0;
-
-    CHAR Buffer[MAX_KEY_BUFFER_LEN];
     TI_INT8* pBuffer = (TI_INT8*)&Buffer;
 
     regReadStringParameter(pAdapter,
@@ -5017,7 +5023,7 @@
                            (TI_UINT8*)pBuffer,
                            &bufferSize);
 
-    index=0;
+    index = 0;
     do { /* Parsing one line */
 
         isSign = TI_FALSE;
diff --git a/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c b/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
index 03b5e76..2c624a9 100644
--- a/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
+++ b/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
@@ -1233,7 +1233,7 @@
     if (pDrvMain->eAction == eAction)
     {            
         TRACE0(pDrvMain->tStadHandles.hReport, REPORT_SEVERITY_CONSOLE, "Action is identical to last action!\n");
-        WLAN_OS_REPORT(("Action is identical to last action!\n"));
+        WLAN_OS_REPORT(("Action %d is identical to last action!\n", eAction));
         return TI_NOK;
     }