summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-04 09:35:42 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-04 09:35:42 +0000
commit32e9da0c40cef1bc9a8e7701af0ae513a0e1b3fb (patch)
tree0e41f9c7d1bd528744bccfa11be8cac2289c88e2
parentd60c5b31276420519e3f5ebb46342b610f4973cf (diff)
downloadedk2-32e9da0c40cef1bc9a8e7701af0ae513a0e1b3fb.zip
edk2-32e9da0c40cef1bc9a8e7701af0ae513a0e1b3fb.tar.gz
edk2-32e9da0c40cef1bc9a8e7701af0ae513a0e1b3fb.tar.bz2
Fix the bug that the wrong classguid is compared.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9930 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
index 7dbbe85..30be2b5 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
@@ -298,7 +298,7 @@ ExtractDisplayedHiiFormFromHiiHandle (
//
// Find FormSet OpCode
//
- ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags;
+ ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags & 0x3;
ClassGuid = (EFI_GUID *) (VOID *)(OpCodeData + sizeof (EFI_IFR_FORM_SET));
while (ClassGuidNum-- > 0) {
if (CompareGuid (SetupClassGuid, ClassGuid)) {
@@ -307,6 +307,7 @@ ExtractDisplayedHiiFormFromHiiHandle (
FreePool (HiiPackageList);
return TRUE;
}
+ ClassGuid ++;
}
} else {
CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));