UINT16 Offset;\r
UINT16 Width;\r
UINT64 VarValue;\r
- UINT64 TmpValue;\r
+ EFI_IFR_TYPE_VALUE TmpValue;\r
LIST_ENTRY *Link;\r
UINT8 *VarBuffer;\r
UINTN MaxBufferSize;\r
//\r
// Check current value is the value of one of option.\r
//\r
- TmpValue = 0;\r
+ ASSERT (IfrOneOfOption->Type >= EFI_IFR_TYPE_NUM_SIZE_8 && IfrOneOfOption->Type <= EFI_IFR_TYPE_NUM_SIZE_64);\r
+ ZeroMem (&TmpValue, sizeof (EFI_IFR_TYPE_VALUE));\r
CopyMem (&TmpValue, &IfrOneOfOption->Value, IfrOneOfOption->Header.Length - OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value));\r
- if (VarValue == TmpValue) {\r
+ if (VarValue == TmpValue.u64) {\r
//\r
// The value is one of option value.\r
// Set OpCode to Zero, don't need check again.\r