]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c
Update for IntelFrameworkModulePkg.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / Variable.c
index ac7e61496f8d62b79357768ebc5712ce8a048c33..c4b83ba0ffa4476d6c2d17a09e9fdb2d45cd9a31 100644 (file)
@@ -673,14 +673,13 @@ Var_UpdateDriverOption (
                       &gEfiGlobalVariableGuid,\r
                       &DriverOrderListSize\r
                       );\r
-  ASSERT (DriverOrderList != NULL);\r
   NewDriverOrderList = AllocateZeroPool (DriverOrderListSize + sizeof (UINT16));\r
   ASSERT (NewDriverOrderList != NULL);\r
-  CopyMem (NewDriverOrderList, DriverOrderList, DriverOrderListSize);\r
-  NewDriverOrderList[DriverOrderListSize / sizeof (UINT16)] = Index;\r
   if (DriverOrderList != NULL) {\r
+    CopyMem (NewDriverOrderList, DriverOrderList, DriverOrderListSize);\r
     EfiLibDeleteVariable (L"DriverOrder", &gEfiGlobalVariableGuid);\r
   }\r
+  NewDriverOrderList[DriverOrderListSize / sizeof (UINT16)] = Index;\r
 \r
   Status = gRT->SetVariable (\r
                   L"DriverOrder",\r