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

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