]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Library/GenericBdsLib/BdsMisc.c
Add more checking to avoid the buffer overflow.
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / GenericBdsLib / BdsMisc.c
index acf61ebcb6627a371ee3d466a7bd06fb0ad83743..7b16d9816c1d1313fe2309a28ca3cc8fa80ab919 100644 (file)
@@ -22,42 +22,6 @@ BOOLEAN   mResetRequired  = FALSE;
 \r
 extern UINT16 gPlatformBootTimeOutDefault;\r
 \r
-\r
-/**\r
-  Return the default value for system Timeout variable.\r
-\r
-  @return Timeout value.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-BdsLibGetTimeout (\r
-  VOID\r
-  )\r
-{\r
-  UINT16      Timeout;\r
-  UINTN       Size;\r
-  EFI_STATUS  Status;\r
-\r
-  //\r
-  // Return Timeout variable or 0xffff if no valid\r
-  // Timeout variable exists.\r
-  //\r
-  Size    = sizeof (UINT16);\r
-  Status  = gRT->GetVariable (L"Timeout", &gEfiGlobalVariableGuid, NULL, &Size, &Timeout);\r
-  if (EFI_ERROR (Status)) {\r
-    //\r
-    // According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff\r
-    // (default value PcdPlatformBootTimeOutDefault) when L"Timeout" variable is not present.\r
-    // To make the current EFI Automatic-Test activity possible, platform can choose other value\r
-    // for automatic boot when the variable is not present.\r
-    //\r
-    Timeout = PcdGet16 (PcdPlatformBootTimeOutDefault);\r
-  }\r
-\r
-  return Timeout;\r
-}\r
-\r
 /**\r
   The function will go through the driver option link list, load and start\r
   every driver the driver option device path point to.\r
@@ -831,7 +795,7 @@ BdsLibOutputStrings (
     // If String is NULL, then it's the end of the list\r
     //\r
     String = VA_ARG (Args, CHAR16 *);\r
-    if (String != NULL) {\r
+    if (String == NULL) {\r
       break;\r
     }\r
 \r
@@ -974,7 +938,7 @@ SetupResetReminder (
       // Popup a menu to notice user\r
       //\r
       do {\r
-        IfrLibCreatePopUp (2, &Key, StringBuffer1, StringBuffer2);\r
+        CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);\r
       } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));\r
 \r
       FreePool (StringBuffer1);\r