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:
qwang12
2008-10-30 07:32:46 +00:00
parent bb1d8ee669
commit 676df92c2c
27 changed files with 652 additions and 410 deletions

View File

@@ -651,7 +651,9 @@ ReleaseKeyboardLayoutResources (
USB_NS_KEY *UsbNsKey;
LIST_ENTRY *Link;
SafeFreePool (UsbKeyboardDevice->KeyConvertionTable);
if (UsbKeyboardDevice->KeyConvertionTable != NULL) {
FreePool (UsbKeyboardDevice->KeyConvertionTable);
}
UsbKeyboardDevice->KeyConvertionTable = NULL;
while (!IsListEmpty (&UsbKeyboardDevice->NsKeyList)) {
@@ -659,8 +661,8 @@ ReleaseKeyboardLayoutResources (
UsbNsKey = USB_NS_KEY_FORM_FROM_LINK (Link);
RemoveEntryList (&UsbNsKey->Link);
gBS->FreePool (UsbNsKey->NsKey);
gBS->FreePool (UsbNsKey);
FreePool (UsbNsKey->NsKey);
FreePool (UsbNsKey);
}
}