Fix OOB flash write when DFU interrupted

If a DFU is restarted, the write indices aren't reset causing the image to be written out of bounds. The CRC check prevents the faulty image from booting but LittleFS still gets nuked.
This commit is contained in:
mark9064 2024-02-13 01:20:46 +00:00 committed by JF
parent fa1af55a45
commit 93d7da1691

View File

@ -357,6 +357,8 @@ void DfuService::DfuImage::Init(size_t chunkSize, size_t totalSize, uint16_t exp
this->totalSize = totalSize; this->totalSize = totalSize;
this->expectedCrc = expectedCrc; this->expectedCrc = expectedCrc;
this->ready = true; this->ready = true;
totalWriteIndex = 0;
bufferWriteIndex = 0;
} }
void DfuService::DfuImage::Append(uint8_t* data, size_t size) { void DfuService::DfuImage::Append(uint8_t* data, size_t size) {