From d969115cda34b1e1cc52719586c9d085dfb6d6cc Mon Sep 17 00:00:00 2001 From: John Doe Date: Fri, 3 Jul 2015 14:19:23 +0300 Subject: [PATCH] protect the write method writing more than supposed to --- cores/esp8266/Updater.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 740ec3202..728700c2f 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -121,6 +121,9 @@ size_t UpdaterClass::write(uint8_t *data, size_t len){ if(hasError()) return 0; + if(len > remaining()) + len = remaining(); + while((_bufferLen + left) > FLASH_SECTOR_SIZE){ size_t toBuff = FLASH_SECTOR_SIZE - _bufferLen; memcpy(_buffer + _bufferLen, data + (len - left), toBuff);