Process Capsule On Disk.\r
\r
Copyright (c) 2019, 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
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
#include <Uefi.h>\r
//\r
do {\r
PreFullPath = CurFullPath;\r
- CurFullPath = EfiBootManagerGetNextFullDevicePath (DevicePath, CurFullPath);\r
+ CurFullPath = EfiBootManagerGetNextLoadOptionDevicePath (DevicePath, CurFullPath);\r
\r
if (PreFullPath != NULL) {\r
FreePool (PreFullPath);\r
(VOID **)&BootNextData,\r
NULL\r
);\r
- if (!EFI_ERROR (Status)) {\r
+ if (EFI_ERROR (Status) || BootNextData == NULL) {\r
+ Print (L"Get Boot Next Data Fail. Status = %r\n", Status);\r
+ return EFI_NOT_FOUND;\r
+ } else {\r
UnicodeSPrint (BootOptionName, sizeof (BootOptionName), L"Boot%04x", *BootNextData);\r
Status = EfiBootManagerVariableToLoadOption (BootOptionName, &BootNextOption);\r
if (!EFI_ERROR (Status)) {\r