diff --git a/src/util/memory_manager.cpp b/src/util/memory_manager.cpp index 4ef1cac66..8c6bfc7e7 100644 --- a/src/util/memory_manager.cpp +++ b/src/util/memory_manager.cpp @@ -322,7 +322,7 @@ void* memory::reallocate(void *p, size_t s) { if (sz >= s) return p; #else - size_t *sz_p = reinterpret_cast(p)-1; + size_t *sz_p = reinterpret_cast(p) - SIZE_T_ALIGN; size_t sz = *sz_p; void *real_p = reinterpret_cast(sz_p); s = s + SIZE_T_ALIGN * sizeof(size_t); // we allocate an extra field!