]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
Fix the potential issue that using integrate as BOOLEAN value in judgment.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / FrontPage.c
index 73207cc718ec7e9031e4e09cf06ee7be1b162685..2098602b2f729750e84eb436c2b70ab39d054bb2 100644 (file)
@@ -94,6 +94,10 @@ FakeExtractConfig (
   OUT EFI_STRING                             *Results\r
   )\r
 {\r
+  if (Request == NULL || Progress == NULL || Results == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+  *Progress = Request;\r
   return EFI_NOT_FOUND;\r
 }\r
 \r
@@ -121,6 +125,17 @@ FakeRouteConfig (
   OUT EFI_STRING                             *Progress\r
   )\r
 {\r
+  if (Configuration == NULL || Progress == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
+  *Progress = Configuration;\r
+  if (!HiiIsConfigHdrMatch (Configuration, &mBootMaintGuid, mBootMaintStorageName)\r
+      && !HiiIsConfigHdrMatch (Configuration, &mFileExplorerGuid, mFileExplorerStorageName)) {\r
+    return EFI_NOT_FOUND;\r
+  }\r
+\r
+  *Progress = Configuration + StrLen (Configuration);\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -156,7 +171,6 @@ FrontPageCallback (
   CHAR8                         *LanguageString;\r
   CHAR8                         *LangCode;\r
   CHAR8                         *Lang;\r
-  CHAR8                         OldLang[ISO_639_2_ENTRY_SIZE];\r
   UINTN                         Index;\r
   EFI_STATUS                    Status;\r
   CHAR8                         *PlatformSupportedLanguages;\r
@@ -230,25 +244,12 @@ FrontPageCallback (
                       AsciiStrSize (BestLanguage),\r
                       Lang\r
                       );\r
-\r
-      if (!FeaturePcdGet (PcdUefiVariableDefaultLangDeprecate)) {\r
-        //\r
-        // Set UEFI deprecated variable "Lang" for backwards compatibility\r
-        //\r
-        Status = ConvertRfc3066LanguageToIso639Language (BestLanguage, OldLang);\r
-        if (!EFI_ERROR (Status)) {\r
-          Status = gRT->SetVariable (\r
-                          L"Lang",\r
-                          &gEfiGlobalVariableGuid,\r
-                          EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
-                          ISO_639_2_ENTRY_SIZE,\r
-                          OldLang\r
-                          );\r
-        }\r
-      }\r
+      ASSERT_EFI_ERROR(Status);\r
       FreePool (BestLanguage);\r
+    } else {\r
+      ASSERT (FALSE);\r
     }\r
-  \r
+\r
     FreePool (PlatformSupportedLanguages);\r
     FreePool (Lang);\r
     FreePool (LanguageString);\r
@@ -619,7 +620,7 @@ GetProducerString (
 }\r
 \r
 /**\r
-  Convert Processor Frequency Data to a string\r
+  Convert Processor Frequency Data to a string.\r
 \r
   @param ProcessorFrequency The frequency data to process\r
   @param String             The string that is created\r