summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Core/PiSmmCore/Locate.c3
-rw-r--r--MdeModulePkg/Core/PiSmmCore/Pool.c3
2 files changed, 3 insertions, 3 deletions
diff --git a/MdeModulePkg/Core/PiSmmCore/Locate.c b/MdeModulePkg/Core/PiSmmCore/Locate.c
index 585d3c8253..ca95ee4e17 100644
--- a/MdeModulePkg/Core/PiSmmCore/Locate.c
+++ b/MdeModulePkg/Core/PiSmmCore/Locate.c
@@ -321,14 +321,13 @@ SmmLocateHandle (
break;
case ByRegisterNotify:
+ GetNext = SmmGetNextLocateByRegisterNotify;
//
// Must have SearchKey for locate ByRegisterNotify
//
if (SearchKey == NULL) {
Status = EFI_INVALID_PARAMETER;
- break;
}
- GetNext = SmmGetNextLocateByRegisterNotify;
break;
case ByProtocol:
diff --git a/MdeModulePkg/Core/PiSmmCore/Pool.c b/MdeModulePkg/Core/PiSmmCore/Pool.c
index 9e86d93e18..443faab34f 100644
--- a/MdeModulePkg/Core/PiSmmCore/Pool.c
+++ b/MdeModulePkg/Core/PiSmmCore/Pool.c
@@ -101,7 +101,7 @@ InternalAllocPoolByIndex (
if (PoolIndex == MAX_POOL_INDEX) {
Hdr = (FREE_POOL_HEADER *)AllocatePages (EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1));
if (Hdr == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
+ return EFI_OUT_OF_RESOURCES;
}
} else if (!IsListEmpty (&mSmmPoolLists[PoolIndex])) {
Hdr = BASE_CR (GetFirstNode (&mSmmPoolLists[PoolIndex]), FREE_POOL_HEADER, Link);
@@ -146,6 +146,7 @@ InternalFreePoolByIndex (
PoolIndex = HighBitSet32 ((UINT32)FreePoolHdr->Header.Size) - MIN_POOL_SHIFT;
FreePoolHdr->Header.Available = TRUE;
+ ASSERT (PoolIndex < MAX_POOL_INDEX);
InsertHeadList (&mSmmPoolLists[PoolIndex], &FreePoolHdr->Link);
return EFI_SUCCESS;
}