]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/ExtendedIfrSupportLib/Common.c
Move MdeModuleHii.h into Include\Guid directory
[mirror_edk2.git] / MdeModulePkg / Library / ExtendedIfrSupportLib / Common.c
index 2b639c9bb8f5ff59c859fd6858816af6adaa63d5..e9fc4657d49052ef543feee10fdcdf40c62122a9 100644 (file)
@@ -52,9 +52,6 @@ ExtendedIfrSupportLibConstructor (
 }\r
 \r
 \r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\r
-\r
 /**\r
   Extract formset class for given HII handle.\r
 \r
@@ -102,14 +99,19 @@ IfrLibExtractClassFromHiiHandle (
   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
@@ -119,13 +121,13 @@ IfrLibExtractClassFromHiiHandle (
   //\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
     CopyMem (&PackageHeader, Package, sizeof (EFI_HII_PACKAGE_HEADER));\r
 \r
-    if (PackageHeader.Type == EFI_HII_PACKAGE_FORM) {\r
+    if (PackageHeader.Type == EFI_HII_PACKAGE_FORMS) {\r
       //\r
       // Search Class Opcode in this Form Package\r
       //\r
@@ -142,7 +144,7 @@ IfrLibExtractClassFromHiiHandle (
         }\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