//\r
// Global variables\r
//\r
-STATIC EFI_GUID mHiiDatabaseNotifyGuid = HII_DATABASE_NOTIFY_GUID;\r
+EFI_GUID mHiiDatabaseNotifyGuid = HII_DATABASE_NOTIFY_GUID;\r
\r
\r
/**\r
\r
DatabaseRecord->PackageList = AllocateZeroPool (sizeof (HII_DATABASE_PACKAGE_LIST_INSTANCE));\r
if (DatabaseRecord->PackageList == NULL) {\r
- SafeFreePool (DatabaseRecord);\r
+ FreePool (DatabaseRecord);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
//\r
HiiHandle = (HII_HANDLE *) AllocateZeroPool (sizeof (HII_HANDLE));\r
if (HiiHandle == NULL) {\r
- SafeFreePool (DatabaseRecord->PackageList);\r
- SafeFreePool (DatabaseRecord);\r
+ FreePool (DatabaseRecord->PackageList);\r
+ FreePool (DatabaseRecord);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
HiiHandle->Signature = HII_HANDLE_SIGNATURE;\r
Package = (EFI_HII_PACKAGE_HEADER *) (((HII_GUID_PACKAGE_INSTANCE *) PackageInstance)->GuidPkg);\r
break;\r
\r
- case EFI_HII_PACKAGE_FORM:\r
+ case EFI_HII_PACKAGE_FORMS:\r
BufferSize = ((HII_IFR_PACKAGE_INSTANCE *) PackageInstance)->FormPkgHdr.Length;\r
Buffer = (UINT8 *) AllocateZeroPool (BufferSize);\r
ASSERT (Buffer != NULL);\r
}\r
}\r
\r
- SafeFreePool (Buffer);\r
- Buffer = NULL;\r
+ if (Buffer != NULL) {\r
+ FreePool (Buffer);\r
+ }\r
\r
return EFI_SUCCESS;\r
}\r
}\r
GuidPackage->GuidPkg = (UINT8 *) AllocateZeroPool (PackageHeader.Length);\r
if (GuidPackage->GuidPkg == NULL) {\r
- SafeFreePool (GuidPackage);\r
+ FreePool (GuidPackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
RemoveEntryList (&Package->GuidEntry);\r
CopyMem (&PackageHeader, Package->GuidPkg, sizeof (EFI_HII_PACKAGE_HEADER));\r
PackageList->PackageListHdr.PackageLength -= PackageHeader.Length;\r
- SafeFreePool (Package->GuidPkg);\r
- SafeFreePool (Package);\r
+ FreePool (Package->GuidPkg);\r
+ FreePool (Package);\r
}\r
\r
return EFI_SUCCESS;\r
\r
FormPackage->IfrData = (UINT8 *) AllocateZeroPool (PackageHeader.Length - sizeof (EFI_HII_PACKAGE_HEADER));\r
if (FormPackage->IfrData == NULL) {\r
- SafeFreePool (FormPackage);\r
+ FreePool (FormPackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
for (Link = PackageList->FormPkgHdr.ForwardLink; Link != &PackageList->FormPkgHdr; Link = Link->ForwardLink) {\r
FormPackage = CR (Link, HII_IFR_PACKAGE_INSTANCE, IfrEntry, HII_IFR_PACKAGE_SIGNATURE);\r
PackageLength += FormPackage->FormPkgHdr.Length;\r
- if (PackageLength + *ResultSize + UsedSize <= BufferSize) {\r
+ if ((Buffer != NULL) && (PackageLength + *ResultSize + UsedSize <= BufferSize)) {\r
//\r
// Invoke registered notification if exists\r
//\r
Private,\r
EFI_HII_DATABASE_NOTIFY_EXPORT_PACK,\r
(VOID *) FormPackage,\r
- EFI_HII_PACKAGE_FORM,\r
+ EFI_HII_PACKAGE_FORMS,\r
Handle\r
);\r
ASSERT_EFI_ERROR (Status);\r
Private,\r
EFI_HII_DATABASE_NOTIFY_REMOVE_PACK,\r
(VOID *) Package,\r
- EFI_HII_PACKAGE_FORM,\r
+ EFI_HII_PACKAGE_FORMS,\r
Handle\r
);\r
if (EFI_ERROR (Status)) {\r
\r
RemoveEntryList (&Package->IfrEntry);\r
PackageList->PackageListHdr.PackageLength -= Package->FormPkgHdr.Length;\r
- SafeFreePool (Package->IfrData);\r
- SafeFreePool (Package);\r
+ FreePool (Package->IfrData);\r
+ FreePool (Package);\r
\r
}\r
\r
AsciiStrCpy (Language, (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);\r
for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
- if (R8_EfiLibCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {\r
- SafeFreePool (Language);\r
+ if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {\r
+ FreePool (Language);\r
return EFI_UNSUPPORTED;\r
}\r
}\r
- SafeFreePool (Language);\r
+ FreePool (Language);\r
\r
//\r
// Create a String package node\r
\r
Error:\r
\r
- SafeFreePool (StringPackage->StringBlock);\r
- SafeFreePool (StringPackage->StringPkgHdr);\r
- SafeFreePool (StringPackage);\r
+ if (StringPackage != NULL) {\r
+ if (StringPackage->StringBlock != NULL) {\r
+ FreePool (StringPackage->StringBlock);\r
+ }\r
+ if (StringPackage->StringPkgHdr != NULL) {\r
+ FreePool (StringPackage->StringPkgHdr);\r
+ }\r
+ FreePool (StringPackage);\r
+ }\r
return Status;\r
\r
}\r
\r
RemoveEntryList (&Package->StringEntry);\r
PackageList->PackageListHdr.PackageLength -= Package->StringPkgHdr->Header.Length;\r
- SafeFreePool (Package->StringBlock);\r
- SafeFreePool (Package->StringPkgHdr);\r
+ FreePool (Package->StringBlock);\r
+ FreePool (Package->StringPkgHdr);\r
//\r
// Delete font information\r
//\r
HII_FONT_INFO_SIGNATURE\r
);\r
RemoveEntryList (&FontInfo->Entry);\r
- SafeFreePool (FontInfo);\r
+ FreePool (FontInfo);\r
}\r
\r
- SafeFreePool (Package);\r
+ FreePool (Package);\r
}\r
\r
return EFI_SUCCESS;\r
\r
Error:\r
\r
- SafeFreePool (FontPkgHdr);\r
- SafeFreePool (FontInfo);\r
- SafeFreePool (FontPackage->GlyphBlock);\r
- SafeFreePool (FontPackage);\r
- SafeFreePool (GlobalFont);\r
+ if (FontPkgHdr != NULL) {\r
+ FreePool (FontPkgHdr);\r
+ }\r
+ if (FontInfo != NULL) {\r
+ FreePool (FontInfo);\r
+ }\r
+ if (FontPackage != NULL) {\r
+ if (FontPackage->GlyphBlock != NULL) {\r
+ FreePool (FontPackage->GlyphBlock);\r
+ }\r
+ FreePool (FontPackage);\r
+ }\r
+ if (GlobalFont != NULL) {\r
+ FreePool (GlobalFont);\r
+ }\r
\r
return Status;\r
\r
\r
RemoveEntryList (&Package->FontEntry);\r
PackageList->PackageListHdr.PackageLength -= Package->FontPkgHdr->Header.Length;\r
- SafeFreePool (Package->GlyphBlock);\r
- SafeFreePool (Package->FontPkgHdr);\r
+\r
+ if (Package->GlyphBlock != NULL) {\r
+ FreePool (Package->GlyphBlock);\r
+ }\r
+ FreePool (Package->FontPkgHdr);\r
//\r
// Delete default character cell information\r
//\r
HII_GLYPH_INFO_SIGNATURE\r
);\r
RemoveEntryList (&GlyphInfo->Entry);\r
- SafeFreePool (GlyphInfo);\r
+ FreePool (GlyphInfo);\r
}\r
\r
//\r
GlobalFont = CR (Link, HII_GLOBAL_FONT_INFO, Entry, HII_GLOBAL_FONT_INFO_SIGNATURE);\r
if (GlobalFont->FontPackage == Package) {\r
RemoveEntryList (&GlobalFont->Entry);\r
- SafeFreePool (GlobalFont->FontInfo);\r
- SafeFreePool (GlobalFont);\r
+ FreePool (GlobalFont->FontInfo);\r
+ FreePool (GlobalFont);\r
break;\r
}\r
}\r
\r
- SafeFreePool (Package);\r
+ FreePool (Package);\r
}\r
\r
return EFI_SUCCESS;\r
\r
ImagePackage->PaletteBlock = (UINT8 *) AllocateZeroPool (PaletteSize);\r
if (ImagePackage->PaletteBlock == NULL) {\r
- SafeFreePool (ImagePackage);\r
+ FreePool (ImagePackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
CopyMem (\r
sizeof (EFI_HII_IMAGE_PACKAGE_HDR) - PaletteSize;\r
ImagePackage->ImageBlock = (UINT8 *) AllocateZeroPool (ImageSize);\r
if (ImagePackage->ImageBlock == NULL) {\r
- SafeFreePool (ImagePackage->PaletteBlock);\r
- SafeFreePool (ImagePackage);\r
+ FreePool (ImagePackage->PaletteBlock);\r
+ FreePool (ImagePackage);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
CopyMem (\r
\r
PackageList->PackageListHdr.PackageLength -= Package->ImagePkgHdr.Header.Length;\r
\r
- SafeFreePool (Package->ImageBlock);\r
- SafeFreePool (Package->PaletteBlock);\r
- SafeFreePool (Package);\r
+ FreePool (Package->ImageBlock);\r
+ if (Package->PaletteBlock != NULL) {\r
+ FreePool (Package->PaletteBlock);\r
+ }\r
+ FreePool (Package);\r
\r
PackageList->ImagePkg = NULL;\r
\r
\r
Error:\r
\r
- SafeFreePool (SimpleFontPackage->SimpleFontPkgHdr);\r
- SafeFreePool (SimpleFontPackage);\r
+ if (SimpleFontPackage != NULL) {\r
+ if (SimpleFontPackage->SimpleFontPkgHdr != NULL) {\r
+ FreePool (SimpleFontPackage->SimpleFontPkgHdr);\r
+ }\r
+ FreePool (SimpleFontPackage);\r
+ }\r
return Status;\r
}\r
\r
\r
RemoveEntryList (&Package->SimpleFontEntry);\r
PackageList->PackageListHdr.PackageLength -= Package->SimpleFontPkgHdr->Header.Length;\r
- SafeFreePool (Package->SimpleFontPkgHdr);\r
- SafeFreePool (Package);\r
+ FreePool (Package->SimpleFontPkgHdr);\r
+ FreePool (Package);\r
}\r
\r
return EFI_SUCCESS;\r
CopyMem (&Header, Package, sizeof (EFI_HII_PACKAGE_HEADER));\r
PackageList->PackageListHdr.PackageLength -= Header.Length;\r
\r
- SafeFreePool (Package);\r
+ FreePool (Package);\r
\r
PackageList->DevicePathPkg = NULL;\r
\r
\r
Error:\r
\r
- SafeFreePool (KeyboardLayoutPackage->KeyboardPkg);\r
- SafeFreePool (KeyboardLayoutPackage);\r
+\r
+ if (KeyboardLayoutPackage != NULL) {\r
+ if (KeyboardLayoutPackage->KeyboardPkg != NULL) {\r
+ FreePool (KeyboardLayoutPackage->KeyboardPkg);\r
+ }\r
+ FreePool (KeyboardLayoutPackage);\r
+ }\r
\r
return Status;\r
}\r
RemoveEntryList (&Package->KeyboardEntry);\r
CopyMem (&PackageHeader, Package->KeyboardPkg, sizeof (EFI_HII_PACKAGE_HEADER));\r
PackageList->PackageListHdr.PackageLength -= PackageHeader.Length;\r
- SafeFreePool (Package->KeyboardPkg);\r
- SafeFreePool (Package);\r
+ FreePool (Package->KeyboardPkg);\r
+ FreePool (Package);\r
}\r
\r
return EFI_SUCCESS;\r
DatabaseRecord->Handle\r
);\r
break;\r
- case EFI_HII_PACKAGE_FORM:\r
+ case EFI_HII_PACKAGE_FORMS:\r
Status = InsertFormPackage (\r
PackageHdrPtr,\r
NotifyType,\r
UINTN ResultSize;\r
EFI_HII_PACKAGE_HEADER EndofPackageList;\r
\r
- ASSERT (Private != NULL || PackageList != NULL || UsedSize != NULL);\r
+ ASSERT (Private != NULL && PackageList != NULL && UsedSize != NULL);\r
ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);\r
ASSERT (IsHiiHandleValid (Handle));\r
\r
ASSERT (Private->HiiHandleCount >= 0);\r
\r
HiiHandle->Signature = 0;\r
- SafeFreePool (HiiHandle);\r
- SafeFreePool (Node->PackageList);\r
- SafeFreePool (Node);\r
+ FreePool (HiiHandle);\r
+ FreePool (Node->PackageList);\r
+ FreePool (Node);\r
\r
return EFI_SUCCESS;\r
}\r
case EFI_HII_PACKAGE_TYPE_GUID:\r
Status = RemoveGuidPackages (Private, Handle, OldPackageList);\r
break;\r
- case EFI_HII_PACKAGE_FORM:\r
+ case EFI_HII_PACKAGE_FORMS:\r
Status = RemoveFormPackages (Private, Handle, OldPackageList);\r
break;\r
case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:\r
}\r
}\r
break;\r
- case EFI_HII_PACKAGE_FORM:\r
+ case EFI_HII_PACKAGE_FORMS:\r
if (!IsListEmpty (&PackageList->FormPkgHdr)) {\r
Matched = TRUE;\r
}\r
(EFI_HII_PACKAGE_LIST_HEADER *)((UINT8 *) Buffer + UsedSize)\r
);\r
ASSERT_EFI_ERROR (Status);\r
- }\r
- else if (Handle != NULL && Node->Handle == Handle) {\r
+ } else if (Handle != NULL && Node->Handle == Handle) {\r
Status = ExportPackageList (\r
Private,\r
Handle,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
- SafeFreePool (Notify);\r
- Notify = NULL;\r
+ FreePool (Notify);\r
\r
return EFI_SUCCESS;\r
}\r
// Backup current keyboard layout.\r
//\r
CopyMem (&Private->CurrentLayoutGuid, KeyGuid, sizeof (EFI_GUID));\r
- SafeFreePool(Private->CurrentLayout);\r
+ if (Private->CurrentLayout != NULL) {\r
+ FreePool(Private->CurrentLayout);\r
+ }\r
Private->CurrentLayout = KeyboardLayout;\r
\r
//\r