diff --git a/cores/esp8266/WString.cpp b/cores/esp8266/WString.cpp index 4ba4b1f9f..95a515c24 100644 --- a/cores/esp8266/WString.cpp +++ b/cores/esp8266/WString.cpp @@ -156,9 +156,11 @@ unsigned char ICACHE_FLASH_ATTR String::changeBuffer(unsigned int maxStrLen) { char *newbuffer = (char *) malloc(newSize); if(newbuffer) { memset(newbuffer, 0, newSize); - memcpy(newbuffer, buffer, len); if (buffer) + { + memcpy(newbuffer, buffer, len); free(buffer); + } capacity = newSize - 1; buffer = newbuffer; return 1;