\r
CurrentDefault->Value.Type = ((EFI_IFR_DEFAULT *) OpCodeData)->Type;\r
CopyMem (&CurrentDefault->DefaultId, &((EFI_IFR_DEFAULT *) OpCodeData)->DefaultId, sizeof (UINT16));\r
- CopyMem (&CurrentDefault->Value.Value, &((EFI_IFR_DEFAULT *) OpCodeData)->Value, sizeof (EFI_IFR_TYPE_VALUE));\r
- ExtendValueToU64 (&CurrentDefault->Value);\r
+ if (OpCodeLength == sizeof (EFI_IFR_DEFAULT)) {\r
+ CopyMem (&CurrentDefault->Value.Value, &((EFI_IFR_DEFAULT *) OpCodeData)->Value, sizeof (EFI_IFR_TYPE_VALUE));\r
+ ExtendValueToU64 (&CurrentDefault->Value);\r
+ }\r
\r
//\r
// Insert to Default Value list of current Question\r
EFI_IFR_TYPE_VALUE Value;\r
} EFI_IFR_DEFAULT;\r
\r
+typedef struct _EFI_IFR_DEFAULT_2 {\r
+ EFI_IFR_OP_HEADER Header;\r
+ UINT16 DefaultId;\r
+ UINT8 Type;\r
+} EFI_IFR_DEFAULT_2;\r
+\r
typedef struct _EFI_IFR_VALUE {\r
EFI_IFR_OP_HEADER Header;\r
} EFI_IFR_VALUE;\r