Remove SafeFreePool from MemoryAllocationLib as this API's name is misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code.
It is recommended that module writer should keep track how a pointer is allocated and free it after use. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6306 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -811,7 +811,7 @@ InitializeBM (
|
||||
//
|
||||
Ptr = AllocateZeroPool (sizeof (BM_LOAD_CONTEXT) + sizeof (BM_FILE_CONTEXT) + sizeof (BM_HANDLE_CONTEXT) + sizeof (BM_MENU_ENTRY));
|
||||
if (Ptr == NULL) {
|
||||
SafeFreePool (BmmCallbackInfo);
|
||||
FreePool (BmmCallbackInfo);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@@ -917,8 +917,8 @@ InitializeBM (
|
||||
gUpdateData.BufferSize = UPDATE_DATA_SIZE;
|
||||
gUpdateData.Data = AllocateZeroPool (UPDATE_DATA_SIZE);
|
||||
if (gUpdateData.Data == NULL) {
|
||||
SafeFreePool (BmmCallbackInfo->LoadContext);
|
||||
SafeFreePool (BmmCallbackInfo);
|
||||
FreePool (BmmCallbackInfo->LoadContext);
|
||||
FreePool (BmmCallbackInfo);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@@ -1020,9 +1020,9 @@ InitializeBM (
|
||||
|
||||
FreeAllMenu ();
|
||||
|
||||
SafeFreePool (BmmCallbackInfo->LoadContext);
|
||||
SafeFreePool (BmmCallbackInfo);
|
||||
SafeFreePool (gUpdateData.Data);
|
||||
FreePool (BmmCallbackInfo->LoadContext);
|
||||
FreePool (BmmCallbackInfo);
|
||||
FreePool (gUpdateData.Data);
|
||||
gUpdateData.Data = NULL;
|
||||
|
||||
return Status;
|
||||
@@ -1205,7 +1205,7 @@ CleanUpStringDepository (
|
||||
CurrentListNode = StringDepository->ListHead;
|
||||
for (NodeIndex = 0; NodeIndex < StringDepository->TotalNodeNumber; NodeIndex++) {
|
||||
NextListNode = CurrentListNode->Next;
|
||||
SafeFreePool (CurrentListNode);
|
||||
FreePool (CurrentListNode);
|
||||
CurrentListNode = NextListNode;
|
||||
}
|
||||
|
||||
@@ -1214,7 +1214,7 @@ CleanUpStringDepository (
|
||||
//
|
||||
// Release string depository.
|
||||
//
|
||||
SafeFreePool (FileOptionStrDepository);
|
||||
FreePool (FileOptionStrDepository);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user