diff --git a/src/arena_allocator.hpp b/src/arena_allocator.hpp index 80f9dfb..82ae39d 100644 --- a/src/arena_allocator.hpp +++ b/src/arena_allocator.hpp @@ -93,7 +93,8 @@ private: * @throws std::bad_alloc if memory allocation fails */ static Block *create(size_t size, Block *prev) { - void *memory = std::aligned_alloc(alignof(Block), sizeof(Block) + size); + void *memory = std::aligned_alloc( + alignof(Block), align_up(sizeof(Block) + size, alignof(Block))); if (!memory) { throw std::bad_alloc(); }