diff --git a/libgnucash/engine/gnc-timezone.cpp b/libgnucash/engine/gnc-timezone.cpp index 876df2aac5..01325b457a 100644 --- a/libgnucash/engine/gnc-timezone.cpp +++ b/libgnucash/engine/gnc-timezone.cpp @@ -471,7 +471,9 @@ namespace IANAParser for(uint32_t index = 0; index < type_count; ++index) { fb_index = start_index + index * tzinfo_size; - TTInfo info = *reinterpret_cast(&fileblock[fb_index]); + /* Use memcpy instead of static_cast to avoid memory alignment issues with chars */ + TTInfo info{}; + memcpy(&info, &fileblock[fb_index], ttinfo_size); endian_swap(&info.gmtoff); tzinfo.push_back( {info, &fileblock[abbrev + info.abbrind],