]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/ResetUtilityLib/ResetUtility.c
MdeModulePkg/ResetUtilityLib: Add pack(1) for reset data structure
[mirror_edk2.git] / MdeModulePkg / Library / ResetUtilityLib / ResetUtility.c
index e3de4f117af86bc66157835c3dba12b0deb62e5a..46a9ac66485b443715271e67b9e86dbf028df56a 100644 (file)
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/ResetSystemLib.h>\r
 \r
+#pragma pack(1)\r
 typedef struct {\r
   CHAR16 NullTerminator;\r
   GUID   ResetSubtype;\r
 } RESET_UTILITY_GUID_SPECIFIC_RESET_DATA;\r
+#pragma pack()\r
+\r
+VERIFY_SIZE_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, 18);\r
 \r
 /**\r
   This is a shorthand helper function to reset with a subtype so that\r
@@ -49,7 +53,10 @@ ResetPlatformSpecificGuid (
   RESET_UTILITY_GUID_SPECIFIC_RESET_DATA  ResetData;\r
 \r
   ResetData.NullTerminator = CHAR_NULL;\r
-  CopyGuid (&ResetData.ResetSubtype, ResetSubtype);\r
+  CopyGuid (\r
+    (GUID *)((UINT8 *)&ResetData + OFFSET_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, ResetSubtype)),\r
+    ResetSubtype\r
+    );\r
   ResetPlatformSpecific (sizeof (ResetData), &ResetData);\r
 }\r
 \r