mirror of
https://github.com/boostorg/atomic.git
synced 2026-02-02 20:32:09 +00:00
Due to BOOST_ATOMIC_DETAIL_ALIGNED_VAR_TPL macro expansion, the aligner data member was made an array, which increased the size of the resulting buffer_storage. This caused memory corruption with atomic_ref, which requires the storage type to be of the same size as the value. To protect against such mistakes in the future, changed BOOST_ATOMIC_DETAIL_ALIGNED_VAR_TPL and BOOST_ATOMIC_DETAIL_ALIGNED_VAR definitions to prohibit their direct use with arrays.