}\r
\r
\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\r
-\r
/**\r
Extract formset class for given HII handle.\r
\r
BufferSize = 0;\r
HiiPackageList = NULL;\r
Status = gIfrLibHiiDatabase->ExportPackageLists (gIfrLibHiiDatabase, Handle, &BufferSize, HiiPackageList);\r
+ //\r
+ // Handle is a invalid handle. Check if Handle is corrupted.\r
+ //\r
ASSERT (Status != EFI_NOT_FOUND);\r
+ //\r
+ // The return status should always be EFI_BUFFER_TOO_SMALL as input buffer's size is 0.\r
+ //\r
+ ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
\r
- if (Status == EFI_BUFFER_TOO_SMALL) {\r
- HiiPackageList = AllocatePool (BufferSize);\r
- ASSERT (HiiPackageList != NULL);\r
+ HiiPackageList = AllocatePool (BufferSize);\r
+ ASSERT (HiiPackageList != NULL);\r
\r
- Status = gIfrLibHiiDatabase->ExportPackageLists (gIfrLibHiiDatabase, Handle, &BufferSize, HiiPackageList);\r
- }\r
+ Status = gIfrLibHiiDatabase->ExportPackageLists (gIfrLibHiiDatabase, Handle, &BufferSize, HiiPackageList);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
//\r
Offset = sizeof (EFI_HII_PACKAGE_LIST_HEADER);\r
Offset2 = 0;\r
- CopyMem (&PackageListLength, &HiiPackageList->PackageLength, sizeof (UINT32));\r
+ PackageListLength = ReadUnaligned32 (&HiiPackageList->PackageLength);\r
\r
while (Offset < PackageListLength) {\r
Package = ((UINT8 *) HiiPackageList) + Offset;\r
}\r
\r
if ((((EFI_IFR_OP_HEADER *) OpCodeData)->OpCode == EFI_IFR_GUID_OP) &&\r
- CompareGuid (&mIfrVendorGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER))) &&\r
+ CompareGuid (&gEfiIfrTianoGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER))) &&\r
(((EFI_IFR_GUID_CLASS *) OpCodeData)->ExtendOpCode == EFI_IFR_EXTEND_OP_CLASS)\r
) {\r
//\r