diff --git a/libraries/EEPROM/src/EEPROM.cpp b/libraries/EEPROM/src/EEPROM.cpp index 95e7d0c..06e6a9c 100644 --- a/libraries/EEPROM/src/EEPROM.cpp +++ b/libraries/EEPROM/src/EEPROM.cpp @@ -45,7 +45,7 @@ void EEPROMClass::begin(size_t size) { size = 4096; } - _size = (size + 255) & (~255); // Flash writes limited to 256 byte boundaries + size = (size + 255) & (~255); // Flash writes limited to 256 byte boundaries // In case begin() is called a 2nd+ time, don't reallocate if size is the same if (_data && size != _size) { @@ -55,6 +55,8 @@ void EEPROMClass::begin(size_t size) { _data = new uint8_t[size]; } + _size = size; + memcpy(_data, _sector, _size); _dirty = false; //make sure dirty is cleared in case begin() is called 2nd+ time