diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 07:32:46 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 07:32:46 +0000 |
commit | 676df92c2c0c5bdeb0f8e27349f5dd467928ce09 (patch) | |
tree | 68999d69951d5884d39a206c5c81ba59d91157fb /MdeModulePkg/Library/GenericBdsLib/BdsConsole.c | |
parent | bb1d8ee66943c3d126abbfc007159eb0fe458927 (diff) | |
download | edk2-platforms-676df92c2c0c5bdeb0f8e27349f5dd467928ce09.tar.xz |
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
Diffstat (limited to 'MdeModulePkg/Library/GenericBdsLib/BdsConsole.c')
-rw-r--r-- | MdeModulePkg/Library/GenericBdsLib/BdsConsole.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/MdeModulePkg/Library/GenericBdsLib/BdsConsole.c b/MdeModulePkg/Library/GenericBdsLib/BdsConsole.c index dacc9c22d1..376a3187be 100644 --- a/MdeModulePkg/Library/GenericBdsLib/BdsConsole.c +++ b/MdeModulePkg/Library/GenericBdsLib/BdsConsole.c @@ -126,7 +126,9 @@ BdsLibUpdateConsoleVariable ( //
TempNewDevicePath = NewDevicePath;
NewDevicePath = AppendDevicePathInstance (NewDevicePath, CustomizedConDevicePath);
- SafeFreePool(TempNewDevicePath);
+ if (TempNewDevicePath != NULL) {
+ FreePool(TempNewDevicePath);
+ }
}
}
@@ -157,10 +159,16 @@ BdsLibUpdateConsoleVariable ( );
if (VarConsole == NewDevicePath) {
- SafeFreePool(VarConsole);
+ if (VarConsole != NULL) {
+ FreePool(VarConsole);
+ }
} else {
- SafeFreePool(VarConsole);
- SafeFreePool(NewDevicePath);
+ if (VarConsole != NULL) {
+ FreePool(VarConsole);
+ }
+ if (NewDevicePath) {
+ FreePool(NewDevicePath);
+ }
}
return EFI_SUCCESS;
@@ -258,10 +266,10 @@ BdsLibConnectConsoleVariable ( DeviceExist = TRUE;
}
}
- SafeFreePool(Instance);
+ FreePool(Instance);
} while (CopyOfDevicePath != NULL);
- SafeFreePool (StartDevicePath);
+ FreePool (StartDevicePath);
if (!DeviceExist) {
return EFI_NOT_FOUND;
@@ -312,7 +320,10 @@ BdsLibConnectAllConsoles ( BdsLibUpdateConsoleVariable (L"ConIn", ConDevicePath, NULL);
}
- SafeFreePool(HandleBuffer);
+ if (HandleBuffer != NULL) {
+ FreePool(HandleBuffer);
+ HandleBuffer = NULL;
+ }
gBS->LocateHandleBuffer (
ByProtocol,
@@ -331,7 +342,9 @@ BdsLibConnectAllConsoles ( BdsLibUpdateConsoleVariable (L"ErrOut", ConDevicePath, NULL);
}
- SafeFreePool(HandleBuffer);
+ if (HandleBuffer != NULL) {
+ FreePool(HandleBuffer);
+ }
//
// Connect all console variables
|