]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/BootMaintenanceManagerUiLib/UpdatePage.c
MdeModulePkg/BootMaintUi: Add error handling codes when AllocatePool fail
[mirror_edk2.git] / MdeModulePkg / Library / BootMaintenanceManagerUiLib / UpdatePage.c
index 13a29db9f4e4728df07af6bb9b23713edecb103a..9e79826a6afaaea4e715774da6ae18087ad421a1 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Dynamically update the pages.\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
@@ -1020,17 +1020,19 @@ UpdateOptionPage(
   CHAR16                *String;\r
   EFI_STRING_ID         StringToken;\r
 \r
+  String = NULL;\r
+\r
   if (DevicePath != NULL){\r
     String = ExtractFileNameFromDevicePath(DevicePath);\r
-    StringToken = HiiSetString (CallbackData->BmmHiiHandle, 0, String, NULL);\r
-    FreePool(String);\r
-  } else {\r
+  }\r
+  if (String == NULL) {\r
     String = HiiGetString (CallbackData->BmmHiiHandle, STRING_TOKEN (STR_NULL_STRING), NULL);\r
     ASSERT (String != NULL);\r
-    StringToken =  HiiSetString (CallbackData->BmmHiiHandle, 0, String, NULL);\r
-    FreePool (String);\r
   }\r
 \r
+  StringToken = HiiSetString (CallbackData->BmmHiiHandle, 0, String, NULL);\r
+  FreePool (String);\r
+\r
   if(FormId == FORM_BOOT_ADD_ID){\r
     if (!CallbackData->BmmFakeNvData.BootOptionChanged) {\r
       ZeroMem (CallbackData->BmmFakeNvData.BootOptionalData, sizeof (CallbackData->BmmFakeNvData.BootOptionalData));\r