Add more check to avoid code enter into wrong state.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10068 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2010-02-25 10:08:54 +00:00
parent bade9bf5b2
commit 234980f6e9
7 changed files with 46 additions and 14 deletions

View File

@ -401,8 +401,12 @@ FindStringPackAndUpdatePackListWithOnlyIfrPack (
if (ThunkContext != IfrThunkContext) {
if (CompareGuid (&IfrThunkContext->TagGuid, &ThunkContext->TagGuid) && (ThunkContext->IfrPackageCount == 0)) {
StringPackageListHeader = NULL;
Status = ExportPackageLists (ThunkContext->UefiHiiHandle, &StringPackageListHeader, &Size);
ASSERT_EFI_ERROR (Status);
if (StringPackageListHeader == NULL) {
return EFI_NOT_FOUND;
}
IfrThunkContext->StringPackageCount = GetPackageCountByType (StringPackageListHeader, EFI_HII_PACKAGE_STRINGS);
//
@ -506,6 +510,10 @@ UefiRegisterPackageList (
ASSERT ((StringPackageCount >=1 && IfrPackageCount == 1) || (FontPackageCount > 0));
if (IfrPackageCount > 0) {
IfrPackage = GetIfrPackage (Packages);
if (IfrPackage == NULL) {
Status = EFI_NOT_FOUND;
goto Done;
}
GetFormSetGuid (IfrPackage, &ThunkContext->TagGuid);
} else {
ASSERT (FontPackageCount > 0);
@ -860,8 +868,12 @@ RemovePackNotify (
//
if (ThunkContext != NULL) {
if (!ThunkContext->ByFrameworkHiiNewPack) {
HiiPackageList = NULL;
Status = ExportPackageLists (Handle, &HiiPackageList, &BufferSize);
ASSERT_EFI_ERROR (Status);
if (HiiPackageList == NULL) {
return EFI_NOT_FOUND;
}
if (GetPackageCountByType (HiiPackageList, EFI_HII_PACKAGE_STRINGS) == 1) {
//