From: rsun3 Date: Wed, 3 Mar 2010 09:40:16 +0000 (+0000) Subject: Minor bug fix and robustness check improvement. X-Git-Tag: edk2-stable201903~16168 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=60cf9cfc146a3b157164d9d2bfbc26d3aaa80179 Minor bug fix and robustness check improvement. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c index 2086206404..d2e53300af 100644 --- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c +++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c @@ -182,7 +182,8 @@ EhcInitSched ( ); if (Ehc->MemPool == NULL) { - goto ErrorExit; + Status = EFI_OUT_OF_RESOURCES; + goto ErrorExit1; } Status = EhcCreateHelpQ (Ehc); @@ -223,9 +224,6 @@ EhcInitSched ( return EFI_SUCCESS; ErrorExit: - PciIo->FreeBuffer (PciIo, Pages, Buf); - PciIo->Unmap (PciIo, Map); - if (Ehc->PeriodOne != NULL) { UsbHcFreeMem (Ehc->MemPool, Ehc->PeriodOne, sizeof (EHC_QH)); Ehc->PeriodOne = NULL; @@ -240,6 +238,11 @@ ErrorExit: UsbHcFreeMem (Ehc->MemPool, Ehc->ShortReadStop, sizeof (EHC_QTD)); Ehc->ShortReadStop = NULL; } + +ErrorExit1: + PciIo->FreeBuffer (PciIo, Pages, Buf); + PciIo->Unmap (PciIo, Map); + return Status; } diff --git a/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c b/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c index d9fa20daa8..7d4284057c 100644 --- a/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c +++ b/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c @@ -807,6 +807,7 @@ FindChildNode ( CurrentChildNode = CHILD_SECTION_NODE_FROM_LINK (GetFirstNode(&SourceStream->Children)); for (;;) { + ASSERT (CurrentChildNode != NULL); if (ChildIsType (SourceStream, CurrentChildNode, SearchType, SectionDefinitionGuid)) { // // The type matches, so check the instance count to see if it's the one we want @@ -877,7 +878,6 @@ FindChildNode ( if (EFI_ERROR (Status)) { return Status; } - ASSERT (CurrentChildNode != NULL); } else { ASSERT (EFI_ERROR (ErrorStatus)); return ErrorStatus; diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/FwVol/FwVol.c index 6892d22a42..276b6f979f 100644 --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c @@ -1391,6 +1391,7 @@ FindNextCoreFvHandle ( } } + ASSERT (Private->FvCount <= FixedPcdGet32 (PcdPeiCoreMaxFvSupported)); if (Instance >= Private->FvCount) { return NULL; } @@ -1473,7 +1474,7 @@ AddUnknownFormatFvInfo ( { PEI_CORE_UNKNOW_FORMAT_FV_INFO *NewUnknownFv; - if (PrivateData->UnknownFvInfoCount + 1 >= FixedPcdGet32 (PcdPeiCoreMaxPeimPerFv)) { + if (PrivateData->UnknownFvInfoCount + 1 >= FixedPcdGet32 (PcdPeiCoreMaxFvSupported)) { return EFI_OUT_OF_RESOURCES; }