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
EFI_STATUS Status;\r
EFI_HII_PACKAGE_HEADER PackageHeader;\r
CHAR8 *Language;\r
- CHAR8 *MatchedLanguage;\r
UINT32 LanguageSize;\r
LIST_ENTRY *Link;\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
- MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL);\r
- if (MatchedLanguage != NULL) {\r
+ if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {\r
FreePool (Language);\r
- FreePool (MatchedLanguage);\r
return EFI_UNSUPPORTED;\r
}\r
}\r