Avoid using unaligned memory access in UBSan builds

This commit is contained in:
Cameron Cawley 2021-07-20 18:22:34 +01:00 committed by GitHub
parent 08f2c2d7e3
commit fc0c0f585e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -168,6 +168,13 @@
#define MINIZ_LITTLE_ENDIAN 0
#endif
/* Using unaligned loads and stores causes errors when using UBSan */
#if defined(__has_feature)
#if __has_feature(undefined_behavior_sanitizer)
#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
#endif
#endif
/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES only if not set */
#if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
#if MINIZ_X86_OR_X64_CPU