X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FHiiDatabaseDxe%2FDatabase.c;h=918559e54490b4c875dba51e27ff89bad0872646;hp=a5ac43e57bcf36795f130ba99fbf7914a8d3c90e;hb=f324bf4dbeda4d64b769bd005331e8f9404b692d;hpb=844390f7d59690b09abca9d4807615bb95a8e510 diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c index a5ac43e57b..918559e544 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c @@ -659,7 +659,7 @@ ExportFormPackages ( for (Link = PackageList->FormPkgHdr.ForwardLink; Link != &PackageList->FormPkgHdr; Link = Link->ForwardLink) { FormPackage = CR (Link, HII_IFR_PACKAGE_INSTANCE, IfrEntry, HII_IFR_PACKAGE_SIGNATURE); PackageLength += FormPackage->FormPkgHdr.Length; - if (PackageLength + *ResultSize + UsedSize <= BufferSize) { + if ((Buffer != NULL) && (PackageLength + *ResultSize + UsedSize <= BufferSize)) { // // Invoke registered notification if exists // @@ -784,7 +784,6 @@ InsertStringPackage ( EFI_STATUS Status; EFI_HII_PACKAGE_HEADER PackageHeader; CHAR8 *Language; - CHAR8 *MatchedLanguage; UINT32 LanguageSize; LIST_ENTRY *Link; @@ -810,10 +809,8 @@ InsertStringPackage ( AsciiStrCpy (Language, (CHAR8 *) PackageHdr + HeaderSize - LanguageSize); for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) { StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE); - MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL); - if (MatchedLanguage != NULL) { + if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) { FreePool (Language); - FreePool (MatchedLanguage); return EFI_UNSUPPORTED; } }