Reviewed-by: S, Ashraf Ali <[email protected]> Thanks., S, Ashraf Ali
-----Original Message----- From: Lin, Du <[email protected]> Sent: Tuesday, March 12, 2024 2:58 PM To: [email protected] Cc: Lin, Du <[email protected]>; S, Ashraf Ali <[email protected]>; Chiu, Chasel <[email protected]>; Chen, Gang C <[email protected]>; Duggapu, Chinni B <[email protected]>; Desimone, Nathaniel L <[email protected]>; Zeng, Star <[email protected]>; Mohapatra, Susovan <[email protected]>; Kuo, Ted <[email protected]> Subject: [PATCH] IntelFsp2WrapperPkg: Error handling of FspmWrapperInit() REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4701 The error handling of FspmWrapperInit() is limited to ASSERT statements only, which only works in debug builds, but not in release builds. Fix the issue by enhancing the error handling of FspmWrapperInit() to cover both debug builds and release builds. Signed-off-by: Du Lin <[email protected]> Cc: Ashraf Ali S <[email protected]> Cc: Chasel Chiu <[email protected]> Cc: Chen Gang C <[email protected]> Cc: Duggapu Chinni B <[email protected]> Cc: Nate DeSimone <[email protected]> Cc: Star Zeng <[email protected]> Cc: Susovan Mohapatra <[email protected]> Cc: Ted Kuo <[email protected]> --- .../FspmWrapperPeim/FspmWrapperPeim.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c index ba0c742fea..356baeeccf 100644 --- a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c +++ b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c @@ -196,13 +196,21 @@ FspmWrapperInit ( EFI_PEI_PPI_DESCRIPTOR *MeasurementExcludedPpiList; MeasurementExcludedFvPpi = AllocatePool (sizeof (*MeasurementExcludedFvPpi)); - ASSERT (MeasurementExcludedFvPpi != NULL); + if (MeasurementExcludedFvPpi == NULL) { + ASSERT (FALSE); + return EFI_OUT_OF_RESOURCES; + } + MeasurementExcludedFvPpi->Count = 1; MeasurementExcludedFvPpi->Fv[0].FvBase = PcdGet32 (PcdFspmBaseAddress); MeasurementExcludedFvPpi->Fv[0].FvLength = ((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)PcdGet32 (PcdFspmBaseAddress))->FvLength; MeasurementExcludedPpiList = AllocatePool (sizeof (*MeasurementExcludedPpiList)); - ASSERT (MeasurementExcludedPpiList != NULL); + if (MeasurementExcludedPpiList == NULL) { + ASSERT (FALSE); + return EFI_OUT_OF_RESOURCES; + } + MeasurementExcludedPpiList->Flags = EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST; MeasurementExcludedPpiList->Guid = &gEfiPeiFirmwareVolumeInfoMeasurementExcludedPpiGuid; MeasurementExcludedPpiList->Ppi = MeasurementExcludedFvPpi; -- 2.44.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116707): https://edk2.groups.io/g/devel/message/116707 Mute This Topic: https://groups.io/mt/104886876/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
