diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c index 6a84f9efd1..55d0f4d790 100644 --- a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c @@ -168,13 +168,14 @@ UpdateBlocksAndVolumes ( EFI_PEI_SERVICES **PeiServices; IndexBlockDevice = 0; - BlockIo2Ppi = NULL; - BlockIoPpi = NULL; + // // Find out all Block Io Ppi instances within the system // Assuming all device Block Io Peims are dispatched already // for (BlockIoPpiInstance = 0; BlockIoPpiInstance < PEI_CD_EXPRESS_MAX_BLOCK_IO_PPI; BlockIoPpiInstance++) { + BlockIo2Ppi = NULL; + BlockIoPpi = NULL; if (BlockIo2) { Status = PeiServicesLocatePpi ( &gEfiPeiVirtualBlockIo2PpiGuid, diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c index 2dac121c47..2afa4ea327 100644 --- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c +++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c @@ -477,10 +477,16 @@ UpdateMainForm ( // Init OpCode Handle // StartOpCodeHandle = HiiAllocateOpCodeHandle (); - ASSERT (StartOpCodeHandle != NULL); + if (StartOpCodeHandle == NULL) { + ASSERT (StartOpCodeHandle != NULL); + return; + } EndOpCodeHandle = HiiAllocateOpCodeHandle (); - ASSERT (EndOpCodeHandle != NULL); + if (EndOpCodeHandle == NULL) { + ASSERT (EndOpCodeHandle != NULL); + goto Exit; + } // // Create Hii Extend Label OpCode as the start opcode @@ -552,8 +558,9 @@ UpdateMainForm ( EndOpCodeHandle ); - HiiFreeOpCodeHandle (StartOpCodeHandle); HiiFreeOpCodeHandle (EndOpCodeHandle); +Exit: + HiiFreeOpCodeHandle (StartOpCodeHandle); } /** diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c index 780cf0a016..9eeb77a4bb 100644 --- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c +++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c @@ -167,7 +167,11 @@ RamDiskPublishNfit ( ASSERT (Status == EFI_BUFFER_TOO_SMALL); do { MemoryMap = (EFI_MEMORY_DESCRIPTOR *)AllocatePool (MemoryMapSize); - ASSERT (MemoryMap != NULL); + if (MemoryMap == NULL) { + ASSERT (MemoryMap != NULL); + return EFI_OUT_OF_RESOURCES; + } + Status = gBS->GetMemoryMap ( &MemoryMapSize, MemoryMap,