diff --git a/esphome/components/esp8266/preferences.cpp b/esphome/components/esp8266/preferences.cpp index 7c0c264054..041736943b 100644 --- a/esphome/components/esp8266/preferences.cpp +++ b/esphome/components/esp8266/preferences.cpp @@ -149,7 +149,12 @@ class ESP8266PreferenceBackend : public ESPPreferenceBackend { return false; uint32_t crc = calculate_crc(buffer.begin(), buffer.end() - 1, type); - return buffer[buffer.size() - 1] == crc; + if (buffer[buffer.size() - 1] != crc) { + return false; + } + + memcpy(data, buffer.data(), len); + return true; } };