summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/mac/Plugins/WebBasePluginPackage.mm')
-rw-r--r--Source/WebKit/mac/Plugins/WebBasePluginPackage.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm b/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
index 3fb86cb..128834e 100644
--- a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
+++ b/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
@@ -403,8 +403,9 @@ static inline void swapIntsInHeader(uint32_t* rawData, size_t length)
if (magic == FAT_CIGAM)
swapIntsInHeader(rawData.data(), rawData.size());
- archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header));
- numArchs = ((struct fat_header *)rawData.data())->nfat_arch;
+ COMPILE_ASSERT(sizeof(struct fat_header) % sizeof(uint32_t) == 0, struct_fat_header_must_be_integral_size_of_uint32_t);
+ archs = reinterpret_cast<struct fat_arch*>(rawData.data() + sizeof(struct fat_header) / sizeof(uint32_t));
+ numArchs = reinterpret_cast<struct fat_header*>(rawData.data())->nfat_arch;
unsigned maxArchs = (sizeInBytes - sizeof(struct fat_header)) / sizeof(struct fat_arch);
if (numArchs > maxArchs)