Revision: 14006
http://edk2.svn.sourceforge.net/edk2/?rev=14006&view=rev
Author: ydong10
Date: 2012-12-17 03:30:43 +0000 (Mon, 17 Dec 2012)
Log Message:
-----------
Base on the value type to get the value for default opcode.
Signed-off-by: Eric Dong <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdeModulePkg/Library/UefiHiiLib/HiiLib.c
trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
Modified: trunk/edk2/MdeModulePkg/Library/UefiHiiLib/HiiLib.c
===================================================================
--- trunk/edk2/MdeModulePkg/Library/UefiHiiLib/HiiLib.c 2012-12-17 03:18:16 UTC
(rev 14005)
+++ trunk/edk2/MdeModulePkg/Library/UefiHiiLib/HiiLib.c 2012-12-17 03:30:43 UTC
(rev 14006)
@@ -2664,7 +2664,7 @@
OpCode.DefaultId = DefaultId;
CopyMem (&OpCode.Value, &Value, mHiiDefaultTypeToWidth[Type]);
- return InternalHiiCreateOpCode (OpCodeHandle, &OpCode, EFI_IFR_DEFAULT_OP,
sizeof (OpCode));
+ return InternalHiiCreateOpCode (OpCodeHandle, &OpCode, EFI_IFR_DEFAULT_OP,
OFFSET_OF(EFI_IFR_DEFAULT, Value) + mHiiDefaultTypeToWidth[Type]);
}
/**
Modified: trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
2012-12-17 03:18:16 UTC (rev 14005)
+++ trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
2012-12-17 03:30:43 UTC (rev 14006)
@@ -1922,7 +1922,7 @@
//
DefaultData.Type = DefaultValueFromOpcode;
DefaultData.DefaultId = VarDefaultId;
- CopyMem (&DefaultData.Value, &IfrDefault->Value, sizeof
(EFI_IFR_TYPE_VALUE));
+ CopyMem (&DefaultData.Value, &IfrDefault->Value,
IfrDefault->Header.Length - OFFSET_OF (EFI_IFR_DEFAULT, Value));
// If the value field is expression, set the cleaned flag.
if (IfrDefault->Type == EFI_IFR_TYPE_OTHER) {
Modified: trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
2012-12-17 03:18:16 UTC (rev 14005)
+++ trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
2012-12-17 03:30:43 UTC (rev 14006)
@@ -1779,8 +1779,8 @@
CurrentDefault->Value.Type = ((EFI_IFR_DEFAULT *) OpCodeData)->Type;
CopyMem (&CurrentDefault->DefaultId, &((EFI_IFR_DEFAULT *)
OpCodeData)->DefaultId, sizeof (UINT16));
- if (OpCodeLength == sizeof (EFI_IFR_DEFAULT)) {
- CopyMem (&CurrentDefault->Value.Value, &((EFI_IFR_DEFAULT *)
OpCodeData)->Value, sizeof (EFI_IFR_TYPE_VALUE));
+ if (OpCodeLength > OFFSET_OF (EFI_IFR_DEFAULT, Value)) {
+ CopyMem (&CurrentDefault->Value.Value, &((EFI_IFR_DEFAULT *)
OpCodeData)->Value, OpCodeLength - OFFSET_OF (EFI_IFR_DEFAULT, Value));
ExtendValueToU64 (&CurrentDefault->Value);
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits