diff --git a/apps/openmw_test_suite/lua/test_serialization.cpp b/apps/openmw_test_suite/lua/test_serialization.cpp index d3c01f6298..f8c6960c51 100644 --- a/apps/openmw_test_suite/lua/test_serialization.cpp +++ b/apps/openmw_test_suite/lua/test_serialization.cpp @@ -163,7 +163,8 @@ namespace { if (sizeof(TestStruct1) != binaryData.size()) throw std::runtime_error("Incorrect binaryData.size() for TestStruct1: " + std::to_string(binaryData.size())); - TestStruct1 t = *reinterpret_cast(binaryData.data()); + TestStruct1 t; + std::memcpy(&t, binaryData.data(), sizeof(t)); t.a = Misc::fromLittleEndian(t.a); t.b = Misc::fromLittleEndian(t.b); sol::stack::push(lua, t); @@ -173,7 +174,8 @@ namespace { if (sizeof(TestStruct2) != binaryData.size()) throw std::runtime_error("Incorrect binaryData.size() for TestStruct2: " + std::to_string(binaryData.size())); - TestStruct2 t = *reinterpret_cast(binaryData.data()); + TestStruct2 t; + std::memcpy(&t, binaryData.data(), sizeof(t)); t.a = Misc::fromLittleEndian(t.a); t.b = Misc::fromLittleEndian(t.b); sol::stack::push(lua, t);