In DxeCheckBootVariable.c, add check for BootOrder and Variable that return EFI_NOT_FOUND when they are NULL. In DxeCheckGcd.c, add check for GcdIoMap to ensure it not NULL when allocating memory to what it points to.
Cc: Michael Kubacki <michael.a.kuba...@intel.com> Cc: Chasel Chiu <chasel.c...@intel.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Cc: Liming Gao <liming....@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zh...@intel.com> --- v2: Update copyright v3: Fix the coding style. v4: Update the logic in DxeCheckBootVariable.c. We directly return when BootOrder/Variable == NULL, in previous versions. .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 +++--- .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c index 85bd5b3d..06a40505 100644 --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c @@ -1,6 +1,6 @@ /** @file -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -130,7 +130,7 @@ TestPointCheckLoadOptionVariable ( for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) { UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]); Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize); - if (EFI_ERROR(Status)) { + if (EFI_ERROR(Status)||(BootOrder == NULL)) { continue; } for (Index = 0; Index < OrderSize/sizeof(CHAR16); Index++) { @@ -222,7 +222,7 @@ TestPointCheckKeyOptionVariable ( for (Index = 0; ; Index++) { UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index); Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size); - if (!EFI_ERROR(Status)) { + if (!EFI_ERROR(Status)&&(Variable != NULL)) { DumpKeyOption (KeyOptionName, Variable, Size); } else { break; diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c index 82709d44..28ca8382 100644 --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c @@ -1,6 +1,6 @@ /** @file -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -241,11 +241,13 @@ TestPointDumpGcd ( } } if (GcdMemoryMap != NULL) { - *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap); + if (GcdIoMap != NULL) { + *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap); + } *GcdIoMapNumberOfDescriptors = NumberOfDescriptors; } } - + if (DumpPrint) { DEBUG ((DEBUG_INFO, "==== TestPointDumpGcd - Exit\n")); } -- 2.18.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47460): https://edk2.groups.io/g/devel/message/47460 Mute This Topic: https://groups.io/mt/34185180/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-