]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IScsiDxe/IScsiConfig.c
NetworkPkg: Replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiConfig.c
index 69a400389dc5d57372b665ac1f0a2e3442dacdb6..a82ce231e8db26335d20ef24fde1d60729a229aa 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Helper functions for configuring or getting the parameters relating to iSCSI.\r
 \r
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -390,7 +390,11 @@ IScsiConvertAttemptConfigDataToIfrNvData (
     IScsiIpToStr (&Ip, TRUE, IfrNvData->TargetIp);\r
   }\r
 \r
-  AsciiStrToUnicodeStr (SessionConfigData->TargetName, IfrNvData->TargetName);\r
+  AsciiStrToUnicodeStrS (\r
+    SessionConfigData->TargetName,\r
+    IfrNvData->TargetName,\r
+    sizeof (IfrNvData->TargetName) / sizeof (IfrNvData->TargetName[0])\r
+    );\r
   IScsiLunToUnicodeStr (SessionConfigData->BootLun, IfrNvData->BootLun);\r
   IScsiConvertIsIdToString (IfrNvData->IsId, SessionConfigData->IsId);\r
 \r
@@ -405,16 +409,36 @@ IScsiConvertAttemptConfigDataToIfrNvData (
   if (IfrNvData->AuthenticationType == ISCSI_AUTH_TYPE_CHAP) {\r
     AuthConfigData      = &Attempt->AuthConfigData.CHAP;\r
     IfrNvData->CHAPType = AuthConfigData->CHAPType;\r
-    AsciiStrToUnicodeStr (AuthConfigData->CHAPName, IfrNvData->CHAPName);\r
-    AsciiStrToUnicodeStr (AuthConfigData->CHAPSecret, IfrNvData->CHAPSecret);\r
-    AsciiStrToUnicodeStr (AuthConfigData->ReverseCHAPName, IfrNvData->ReverseCHAPName);\r
-    AsciiStrToUnicodeStr (AuthConfigData->ReverseCHAPSecret, IfrNvData->ReverseCHAPSecret);\r
+    AsciiStrToUnicodeStrS (\r
+      AuthConfigData->CHAPName,\r
+      IfrNvData->CHAPName,\r
+      sizeof (IfrNvData->CHAPName) / sizeof (IfrNvData->CHAPName[0])\r
+      );\r
+    AsciiStrToUnicodeStrS (\r
+      AuthConfigData->CHAPSecret,\r
+      IfrNvData->CHAPSecret,\r
+      sizeof (IfrNvData->CHAPSecret) / sizeof (IfrNvData->CHAPSecret[0])\r
+      );\r
+    AsciiStrToUnicodeStrS (\r
+      AuthConfigData->ReverseCHAPName,\r
+      IfrNvData->ReverseCHAPName,\r
+      sizeof (IfrNvData->ReverseCHAPName) / sizeof (IfrNvData->ReverseCHAPName[0])\r
+      );\r
+    AsciiStrToUnicodeStrS (\r
+      AuthConfigData->ReverseCHAPSecret,\r
+      IfrNvData->ReverseCHAPSecret,\r
+      sizeof (IfrNvData->ReverseCHAPSecret) / sizeof (IfrNvData->ReverseCHAPSecret[0])\r
+      );\r
   }\r
 \r
   //\r
   // Other parameters.\r
   //\r
-  AsciiStrToUnicodeStr (Attempt->AttemptName, IfrNvData->AttemptName);\r
+  AsciiStrToUnicodeStrS (\r
+    Attempt->AttemptName,\r
+    IfrNvData->AttemptName,\r
+    sizeof (IfrNvData->AttemptName) / sizeof (IfrNvData->AttemptName[0])\r
+    );\r
 }\r
 \r
 /**\r
@@ -603,12 +627,12 @@ IScsiConvertIfrNvDataToAttemptConfigData (
         return EFI_OUT_OF_RESOURCES;\r
       }      \r
       \r
-      AsciiStrToUnicodeStr (Attempt->AttemptName, AttemptName1);\r
+      AsciiStrToUnicodeStrS (Attempt->AttemptName, AttemptName1, ATTEMPT_NAME_MAX_SIZE);\r
       if (StrLen (AttemptName1) > ATTEMPT_NAME_SIZE) {\r
         CopyMem (&AttemptName1[ATTEMPT_NAME_SIZE], L"...", 4 * sizeof (CHAR16));\r
       }\r
 \r
-      AsciiStrToUnicodeStr (SameNicAttempt->AttemptName, AttemptName2);\r
+      AsciiStrToUnicodeStrS (SameNicAttempt->AttemptName, AttemptName2, ATTEMPT_NAME_MAX_SIZE);\r
       if (StrLen (AttemptName2) > ATTEMPT_NAME_SIZE) {\r
         CopyMem (&AttemptName2[ATTEMPT_NAME_SIZE], L"...", 4 * sizeof (CHAR16));\r
       }\r
@@ -663,7 +687,7 @@ IScsiConvertIfrNvDataToAttemptConfigData (
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  AsciiStrToUnicodeStr (Attempt->MacString, MacString);\r
+  AsciiStrToUnicodeStrS (Attempt->MacString, MacString, sizeof (MacString) / sizeof (MacString[0]));\r
 \r
   UnicodeSPrint (\r
     mPrivate->PortString,\r
@@ -1087,7 +1111,7 @@ IScsiConfigUpdateAttempt (
   NET_LIST_FOR_EACH (Entry, &mPrivate->AttemptConfigs) {\r
     AttemptConfigData = NET_LIST_USER_STRUCT (Entry, ISCSI_ATTEMPT_CONFIG_NVDATA, Link);\r
 \r
-    AsciiStrToUnicodeStr (AttemptConfigData->AttemptName, AttemptName);\r
+    AsciiStrToUnicodeStrS (AttemptConfigData->AttemptName, AttemptName, sizeof (AttemptName) / sizeof (AttemptName[0]));\r
     UnicodeSPrint (mPrivate->PortString, (UINTN) 128, L"Attempt %s", AttemptName);\r
     AttemptConfigData->AttemptTitleToken = HiiSetString (\r
                                              mCallbackInfo->RegisteredHandle,\r
@@ -1216,7 +1240,7 @@ IScsiConfigDeleteAttempts (
       mPrivate->SinglePathCount--;\r
     }\r
 \r
-    AsciiStrToUnicodeStr (AttemptConfigData->MacString, MacString);\r
+    AsciiStrToUnicodeStrS (AttemptConfigData->MacString, MacString, sizeof (MacString) / sizeof (MacString[0]));\r
 \r
     UnicodeSPrint (\r
       mPrivate->PortString,\r
@@ -1730,7 +1754,7 @@ IScsiConfigProcessDefault (
       MacString\r
       );\r
 \r
-    UnicodeStrToAsciiStr (MacString, AttemptConfigData->MacString);\r
+    UnicodeStrToAsciiStrS (MacString, AttemptConfigData->MacString, sizeof (AttemptConfigData->MacString));\r
     AttemptConfigData->NicIndex = NicIndex;\r
 \r
     //\r
@@ -1773,7 +1797,7 @@ IScsiConfigProcessDefault (
       L"%d",\r
       (UINTN) AttemptConfigData->AttemptConfigIndex\r
       );\r
-    UnicodeStrToAsciiStr (mPrivate->PortString, AttemptConfigData->AttemptName);\r
+    UnicodeStrToAsciiStrS (mPrivate->PortString, AttemptConfigData->AttemptName, sizeof (AttemptConfigData->AttemptName));\r
 \r
     //\r
     // Save the created Attempt temporarily. If user does not save the attempt\r
@@ -1942,7 +1966,11 @@ IScsiFormExtractConfig (
   if (EFI_ERROR (Status)) {\r
     IfrNvData->InitiatorName[0] = L'\0';\r
   } else {\r
-    AsciiStrToUnicodeStr (InitiatorName, IfrNvData->InitiatorName);\r
+    AsciiStrToUnicodeStrS (\r
+      InitiatorName,\r
+      IfrNvData->InitiatorName,\r
+      sizeof (IfrNvData->InitiatorName) / sizeof (IfrNvData->InitiatorName[0])\r
+      );\r
   }\r
 \r
   //\r
@@ -2210,7 +2238,7 @@ IScsiFormCallback (
   } else if (Action == EFI_BROWSER_ACTION_CHANGED) {  \r
     switch (QuestionId) {\r
     case KEY_INITIATOR_NAME:\r
-      UnicodeStrToAsciiStr (IfrNvData->InitiatorName, IScsiName);\r
+      UnicodeStrToAsciiStrS (IfrNvData->InitiatorName, IScsiName, ISCSI_NAME_MAX_SIZE);\r
       BufferSize  = AsciiStrSize (IScsiName);\r
 \r
       Status      = gIScsiInitiatorName.Set (&gIScsiInitiatorName, &BufferSize, IScsiName);\r
@@ -2237,7 +2265,7 @@ IScsiFormCallback (
           );\r
       }\r
 \r
-      UnicodeStrToAsciiStr (IfrNvData->AttemptName, Private->Current->AttemptName);\r
+      UnicodeStrToAsciiStrS (IfrNvData->AttemptName, Private->Current->AttemptName, sizeof (Private->Current->AttemptName));\r
 \r
       IScsiConfigUpdateAttempt ();\r
 \r
@@ -2366,7 +2394,7 @@ IScsiFormCallback (
       break;\r
 \r
     case KEY_TARGET_IP:\r
-      UnicodeStrToAsciiStr (IfrNvData->TargetIp, IpString);\r
+      UnicodeStrToAsciiStrS (IfrNvData->TargetIp, IpString, sizeof (IpString));\r
       Status = IScsiAsciiStrToIp (IpString, IfrNvData->IpMode, &HostIp);\r
       if (EFI_ERROR (Status) || !IpIsUnicast (&HostIp, IfrNvData->IpMode)) {\r
         CreatePopUp (\r
@@ -2383,7 +2411,7 @@ IScsiFormCallback (
       break;\r
 \r
     case KEY_TARGET_NAME:\r
-      UnicodeStrToAsciiStr (IfrNvData->TargetName, IScsiName);\r
+      UnicodeStrToAsciiStrS (IfrNvData->TargetName, IScsiName, ISCSI_NAME_MAX_SIZE);\r
       Status = IScsiNormalizeName (IScsiName, AsciiStrLen (IScsiName));\r
       if (EFI_ERROR (Status)) {\r
         CreatePopUp (\r
@@ -2406,7 +2434,7 @@ IScsiFormCallback (
       break;\r
 \r
     case KEY_BOOT_LUN:\r
-      UnicodeStrToAsciiStr (IfrNvData->BootLun, LunString);\r
+      UnicodeStrToAsciiStrS (IfrNvData->BootLun, LunString, sizeof (LunString));\r
       Status = IScsiAsciiStrToLun (LunString, (UINT8 *) &Lun);\r
       if (EFI_ERROR (Status)) {\r
         CreatePopUp (\r
@@ -2433,30 +2461,34 @@ IScsiFormCallback (
       break;\r
 \r
     case KEY_CHAP_NAME:\r
-      UnicodeStrToAsciiStr (\r
+      UnicodeStrToAsciiStrS (\r
         IfrNvData->CHAPName,\r
-        Private->Current->AuthConfigData.CHAP.CHAPName\r
+        Private->Current->AuthConfigData.CHAP.CHAPName,\r
+        sizeof (Private->Current->AuthConfigData.CHAP.CHAPName)\r
         );\r
       break;\r
 \r
     case KEY_CHAP_SECRET:\r
-      UnicodeStrToAsciiStr (\r
+      UnicodeStrToAsciiStrS (\r
         IfrNvData->CHAPSecret,\r
-        Private->Current->AuthConfigData.CHAP.CHAPSecret\r
+        Private->Current->AuthConfigData.CHAP.CHAPSecret,\r
+        sizeof (Private->Current->AuthConfigData.CHAP.CHAPSecret)\r
         );\r
       break;\r
 \r
     case KEY_REVERSE_CHAP_NAME:\r
-      UnicodeStrToAsciiStr (\r
+      UnicodeStrToAsciiStrS (\r
         IfrNvData->ReverseCHAPName,\r
-        Private->Current->AuthConfigData.CHAP.ReverseCHAPName\r
+        Private->Current->AuthConfigData.CHAP.ReverseCHAPName,\r
+        sizeof (Private->Current->AuthConfigData.CHAP.ReverseCHAPName)\r
         );\r
       break;\r
 \r
     case KEY_REVERSE_CHAP_SECRET:\r
-      UnicodeStrToAsciiStr (\r
+      UnicodeStrToAsciiStrS (\r
         IfrNvData->ReverseCHAPSecret,\r
-        Private->Current->AuthConfigData.CHAP.ReverseCHAPSecret\r
+        Private->Current->AuthConfigData.CHAP.ReverseCHAPSecret,\r
+        sizeof (Private->Current->AuthConfigData.CHAP.ReverseCHAPSecret)\r
         );\r
       break;\r
 \r