diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrDefault.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrDefault.c index 2f8b384f6f..482d6ad404 100644 --- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrDefault.c +++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrDefault.c @@ -358,7 +358,7 @@ UefiIfrGetBufferTypeDefaults ( ASSERT (UefiDefaults != NULL); *UefiDefaults = AllocateZeroPool (sizeof (LIST_ENTRY)); - ASSERT (UefiDefaults != NULL); + ASSERT (*UefiDefaults != NULL); InitializeListHead (*UefiDefaults); DefaultLink = GetFirstNode (&ThunkContext->FormSet->DefaultStoreListHead); diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/IfrCommon.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/IfrCommon.c index 400b367136..c0ce1b23f8 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/IfrCommon.c +++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/IfrCommon.c @@ -582,7 +582,7 @@ Returns: // // Return an error if buffer is too small // - if (SizeOfNvStore > *ImageLength) { + if (SizeOfNvStore > *ImageLength || DefaultImage == NULL) { gBS->FreePool (OldData); *ImageLength = (UINT16) SizeOfNvStore; return EFI_BUFFER_TOO_SMALL;