diff --git a/cores/esp8266/Esp.cpp b/cores/esp8266/Esp.cpp index 4d9d8b033..504cf028d 100644 --- a/cores/esp8266/Esp.cpp +++ b/cores/esp8266/Esp.cpp @@ -414,6 +414,13 @@ bool EspClass::updateSketch(Stream& in, uint32_t size) { return false; } + if(addr == freeSpaceStart) { + // check for valid first magic byte + if(*((uint8 *) buffer.get()) != 0xE9) { + return false; + } + } + noInterrupts(); rc = SPIWrite(addr, buffer.get(), willRead); interrupts(); diff --git a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp index 118ec894f..ef48087e1 100644 --- a/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp +++ b/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp @@ -72,6 +72,9 @@ t_httpUpdate_return ESP8266HTTPUpdate::update(const char *host, uint16_t port, c req += "\r\n" "x-ESP8266-chip-size: "; req += ESP.getFlashChipRealSize(); + req += "\r\n" + "x-ESP8266-sdk-version: "; + req += ESP.getSdkVersion(); if(current_version[0] != 0x00) { req += "\r\n"