diff --git a/src/core/crypto/aes_util.h b/src/core/crypto/aes_util.h index ce4947a048..8ce9d6612a 100644 --- a/src/core/crypto/aes_util.h +++ b/src/core/crypto/aes_util.h @@ -39,6 +39,8 @@ public: template void Transcode(const Source* src, size_t size, Dest* dest, Op op) const { + static_assert(std::is_trivially_copyable_v && std::is_trivially_copyable_v, + "Transcode source and destination types must be trivially copyable."); Transcode(reinterpret_cast(src), size, reinterpret_cast(dest), op); } @@ -47,6 +49,8 @@ public: template void XTSTranscode(const Source* src, size_t size, Dest* dest, size_t sector_id, size_t sector_size, Op op) { + static_assert(std::is_trivially_copyable_v && std::is_trivially_copyable_v, + "XTSTranscode source and destination types must be trivially copyable."); XTSTranscode(reinterpret_cast(src), size, reinterpret_cast(dest), sector_id, sector_size, op); }