diff options
author | Ruiyu Ni <ruiyu.ni@intel.com> | 2018-07-02 11:13:17 +0800 |
---|---|---|
committer | Ruiyu Ni <ruiyu.ni@intel.com> | 2018-07-03 14:39:56 +0800 |
commit | 93f5a54ff3386a44b08de22e9b9230e3ed92b90c (patch) | |
tree | 0c2d7f8c2eb2b8636cfb2fc90c68a1d2a7c8d0f4 | |
parent | 51fe5b5140ba9ecb168fb03da328983355880c7a (diff) | |
download | edk2-93f5a54ff3386a44b08de22e9b9230e3ed92b90c.zip edk2-93f5a54ff3386a44b08de22e9b9230e3ed92b90c.tar.gz edk2-93f5a54ff3386a44b08de22e9b9230e3ed92b90c.tar.bz2 |
MdeModulePkg/ResetUtilityLib: Add pack(1) for reset data structure
RESET_UTILITY_GUID_SPECIFIC_RESET_DATA structure should be declared
as pack(1).
The patch adds the missing pack(1) pragma.
(GUID *)((UINT8 *)&ResetData +
OFFSET_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, ResetSubtype))
is used to replace &ResetData.ResetSubType to resolve C4366 VS
compiler warning.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
-rw-r--r-- | MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c b/MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c index e3de4f1..46a9ac6 100644 --- a/MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c +++ b/MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c @@ -19,10 +19,14 @@ #include <Library/BaseMemoryLib.h>
#include <Library/ResetSystemLib.h>
+#pragma pack(1)
typedef struct {
CHAR16 NullTerminator;
GUID ResetSubtype;
} RESET_UTILITY_GUID_SPECIFIC_RESET_DATA;
+#pragma pack()
+
+VERIFY_SIZE_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, 18);
/**
This is a shorthand helper function to reset with a subtype so that
@@ -49,7 +53,10 @@ ResetPlatformSpecificGuid ( RESET_UTILITY_GUID_SPECIFIC_RESET_DATA ResetData;
ResetData.NullTerminator = CHAR_NULL;
- CopyGuid (&ResetData.ResetSubtype, ResetSubtype);
+ CopyGuid (
+ (GUID *)((UINT8 *)&ResetData + OFFSET_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, ResetSubtype)),
+ ResetSubtype
+ );
ResetPlatformSpecific (sizeof (ResetData), &ResetData);
}
|