diff --git a/hardware/esp8266com/esp8266/cores/esp8266/abi.cpp b/hardware/esp8266com/esp8266/cores/esp8266/abi.cpp index add40bcb1..b863997a3 100644 --- a/hardware/esp8266com/esp8266/cores/esp8266/abi.cpp +++ b/hardware/esp8266com/esp8266/cores/esp8266/abi.cpp @@ -26,10 +26,12 @@ extern "C" { } void *operator new(size_t size) { + size = ((size + 3) & ~((size_t)0x3)); return os_malloc(size); } void *operator new[](size_t size) { + size = ((size + 3) & ~((size_t)0x3)); return os_malloc(size); } diff --git a/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c b/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c index 64efd94ab..519ea233a 100644 --- a/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c +++ b/hardware/esp8266com/esp8266/cores/esp8266/libc_replacements.c @@ -38,6 +38,7 @@ #include "user_interface.h" void* malloc(size_t size) { + size = ((size + 3) & ~((size_t)0x3)); return os_malloc(size); } @@ -46,6 +47,7 @@ void free(void* ptr) { } void* realloc(void* ptr, size_t size) { + size = ((size + 3) & ~((size_t)0x3)); return os_realloc(ptr, size); }