mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
MdeModulePkg/Core: Make PPI services spec complaint
The documentation of InstallPpi() and NotifyPpi() in both the spec and function comment indicate to return EFI_OUT_OF_RESOURCES if memory allocation fails. However, the implementation of those two services assert if memory allocation fails. This is a mismatch between what the function expected to return and what actually returns. Fix this by returning EFI_OUT_OF_RESOURCES if memory allocation fails, so the code matches the documentation and comply with the spec. It is expected service consumers(callers of these functions) to handle failures appriciately. Signed-off-by: Khalid Ali <khaliidcaliy@gmail.com>
This commit is contained in:
parent
539c53375e
commit
300dada916
1 changed files with 15 additions and 3 deletions
|
|
@ -493,7 +493,11 @@ InternalPeiInstallPpi (
|
|||
TempPtr = AllocateZeroPool (
|
||||
sizeof (PEI_PPI_LIST_POINTERS) * (PpiListPointer->MaxCount + PPI_GROWTH_STEP)
|
||||
);
|
||||
ASSERT (TempPtr != NULL);
|
||||
if (TempPtr == NULL) {
|
||||
ASSERT (TempPtr != NULL);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
CopyMem (
|
||||
TempPtr,
|
||||
PpiListPointer->PpiPtrs,
|
||||
|
|
@ -782,7 +786,11 @@ InternalPeiNotifyPpi (
|
|||
TempPtr = AllocateZeroPool (
|
||||
sizeof (PEI_PPI_LIST_POINTERS) * (CallbackNotifyListPointer->MaxCount + CALLBACK_NOTIFY_GROWTH_STEP)
|
||||
);
|
||||
ASSERT (TempPtr != NULL);
|
||||
if (TempPtr == NULL) {
|
||||
ASSERT (TempPtr != NULL);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
CopyMem (
|
||||
TempPtr,
|
||||
CallbackNotifyListPointer->NotifyPtrs,
|
||||
|
|
@ -803,7 +811,11 @@ InternalPeiNotifyPpi (
|
|||
TempPtr = AllocateZeroPool (
|
||||
sizeof (PEI_PPI_LIST_POINTERS) * (DispatchNotifyListPointer->MaxCount + DISPATCH_NOTIFY_GROWTH_STEP)
|
||||
);
|
||||
ASSERT (TempPtr != NULL);
|
||||
if (TempPtr == NULL) {
|
||||
ASSERT (TempPtr != NULL);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
CopyMem (
|
||||
TempPtr,
|
||||
DispatchNotifyListPointer->NotifyPtrs,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue