From 3d267c70b2f69118fe06fcec753fd62a049669eb Mon Sep 17 00:00:00 2001 From: ydong10 Date: Tue, 16 Oct 2012 09:27:49 +0000 Subject: Fix code potential errors. Signed-off-by: Eric Dong Reviewed-by: Tian, Feng git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13852 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c | 1 + MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c | 8 ++++++++ MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 4 ++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c index 625ba1b5b1..51687fe0d3 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c @@ -464,6 +464,7 @@ UnregisterAtaDevice ( if (BlockIo != NULL) { AtaDevice = ATA_DEVICE_FROM_BLOCK_IO (BlockIo); } else { + ASSERT (BlockIo2 != NULL); AtaDevice = ATA_DEVICE_FROM_BLOCK_IO2 (BlockIo2); } diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c index 0045cc0d91..b50792438b 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c @@ -133,6 +133,10 @@ AtaDevicePassThru ( if (TaskPacket != NULL) { Packet = TaskPacket; Packet->Asb = AllocateAlignedBuffer (AtaDevice, sizeof (EFI_ATA_STATUS_BLOCK)); + if (Packet->Asb == NULL) { + return EFI_OUT_OF_RESOURCES; + } + CopyMem (Packet->Asb, AtaDevice->Asb, sizeof (EFI_ATA_STATUS_BLOCK)); Packet->Acb = AllocateCopyPool (sizeof (EFI_ATA_COMMAND_BLOCK), &AtaDevice->Acb); } else { @@ -939,6 +943,10 @@ TrustTransferAtaDevice ( AtaPassThru = AtaDevice->AtaBusDriverData->AtaPassThru; if ((AtaPassThru->Mode->IoAlign > 1) && !IS_ALIGNED (Buffer, AtaPassThru->Mode->IoAlign)) { NewBuffer = AllocateAlignedBuffer (AtaDevice, TransferLength); + if (NewBuffer == NULL) { + return EFI_OUT_OF_RESOURCES; + } + CopyMem (NewBuffer, Buffer, TransferLength); FreePool (Buffer); Buffer = NewBuffer; diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c index c351d215dc..fe2ac1011d 100644 --- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c +++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c @@ -148,7 +148,7 @@ CoreDumpGcdMemorySpaceMap ( UINTN Index; Status = CoreGetMemorySpaceMap (&NumberOfDescriptors, &MemorySpaceMap); - ASSERT_EFI_ERROR (Status); + ASSERT (Status == EFI_SUCCESS && MemorySpaceMap != NULL); if (InitialMap) { DEBUG ((DEBUG_GCD, "GCD:Initial GCD Memory Space Map\n")); @@ -190,7 +190,7 @@ CoreDumpGcdIoSpaceMap ( UINTN Index; Status = CoreGetIoSpaceMap (&NumberOfDescriptors, &IoSpaceMap); - ASSERT_EFI_ERROR (Status); + ASSERT (Status == EFI_SUCCESS && IoSpaceMap != NULL); if (InitialMap) { DEBUG ((DEBUG_GCD, "GCD:Initial GCD I/O Space Map\n")); -- cgit v1.2.3