From 23fce56b5e14615991de9937dcebc2c740eac6b9 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 3 Jun 2018 18:20:50 +0200 Subject: [PATCH] - fix memory arena allocation alignment for 32 bit systems. --- src/memarena.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/memarena.cpp b/src/memarena.cpp index d19521edf3..2c0336a5eb 100644 --- a/src/memarena.cpp +++ b/src/memarena.cpp @@ -55,13 +55,14 @@ struct FMemArena::Block // // RoundPointer // -// Rounds a pointer up to a pointer-sized boundary. +// Rounds a pointer up to the size of the largest integral type. // //========================================================================== static inline void *RoundPointer(void *ptr) { - return (void *)(((size_t)ptr + sizeof(void*) - 1) & ~(sizeof(void*) - 1)); + const auto roundsize = std::max(sizeof(void*), sizeof(double)); + return (void *)(((size_t)ptr + roundsize - 1) & ~(roundsize - 1)); } //==========================================================================