]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Expression.c
MdeModulePkg: Convert all .uni files to utf-8
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Expression.c
index 01e114b0e34f481d34bd832701de479080bc3660..9a18dec5c03b286e43068b46aa794fecf2b6664d 100644 (file)
@@ -1324,6 +1324,7 @@ IfrCatenate (
   UINT16         Length0;\r
   UINT16         Length1;\r
   UINT8          *TmpBuf;\r
+  UINTN          MaxLen;\r
 \r
   //\r
   // String[0] - The second string\r
@@ -1363,10 +1364,11 @@ IfrCatenate (
 \r
   if (Value[0].Type == EFI_IFR_TYPE_STRING) {\r
     Size = StrSize (String[0]);\r
-    StringPtr= AllocatePool (StrSize (String[1]) + Size);\r
+    MaxLen = (StrSize (String[1]) + Size) / sizeof (CHAR16);\r
+    StringPtr= AllocatePool (MaxLen * sizeof (CHAR16));\r
     ASSERT (StringPtr != NULL);\r
-    StrCpy (StringPtr, String[1]);\r
-    StrCat (StringPtr, String[0]);\r
+    StrCpyS (StringPtr, MaxLen, String[1]);\r
+    StrCatS (StringPtr, MaxLen, String[0]);\r
 \r
     Result->Type = EFI_IFR_TYPE_STRING;\r
     Result->Value.string = NewString (StringPtr, FormSet->HiiHandle);\r
@@ -1561,12 +1563,15 @@ IfrMatch2 (
                         &BufferSize,\r
                         HandleBuffer);\r
 \r
-  } else if (EFI_ERROR (Status)) {\r
+  }\r
+\r
+  if (EFI_ERROR (Status)) {\r
     Result->Type = EFI_IFR_TYPE_UNDEFINED;\r
     Status = EFI_SUCCESS;\r
     goto Done;\r
   }\r
 \r
+  ASSERT (HandleBuffer != NULL);\r
   for ( Index = 0; Index < BufferSize / sizeof(EFI_HANDLE); Index ++) {\r
     Status = gBS->HandleProtocol (\r
                   HandleBuffer[Index],\r
@@ -2478,7 +2483,7 @@ GetQuestionValueFromForm (
   //\r
   // Get the question value.\r
   //\r
-  Status = GetQuestionValue(FormSet, Form, Question, GetSetValueWithHiiDriver);\r
+  Status = GetQuestionValue(FormSet, Form, Question, GetSetValueWithEditBuffer);\r
   if (EFI_ERROR (Status)) {\r
     GetTheVal = FALSE;\r
     goto Done;\r
@@ -3165,7 +3170,6 @@ EvaluateExpression (
           //\r
           Status = EFI_UNSUPPORTED;\r
           goto Done;\r
-          break;\r
         }\r
       } else {\r
         //\r