mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'revert-3f015297' into 'release/v4.4'
Revert "Merge branch 'bugfix/nvs_read_out_of_bounds' into 'release/v4.4'" See merge request espressif/esp-idf!27856
This commit is contained in:
commit
a2b4ddc113
@ -478,11 +478,6 @@ esp_err_t Storage::readMultiPageBlob(uint8_t nsIndex, const char* key, void* dat
|
|||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
if (item.varLength.dataSize > dataSize - offset) {
|
|
||||||
/* The size of the entry in the index is inconsistent with the sum of the sizes of chunks */
|
|
||||||
err = ESP_ERR_NVS_INVALID_LENGTH;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
err = findPage->readItem(nsIndex, ItemType::BLOB_DATA, key, static_cast<uint8_t*>(data) + offset, item.varLength.dataSize, static_cast<uint8_t> (chunkStart) + chunkNum);
|
err = findPage->readItem(nsIndex, ItemType::BLOB_DATA, key, static_cast<uint8_t*>(data) + offset, item.varLength.dataSize, static_cast<uint8_t> (chunkStart) + chunkNum);
|
||||||
if (err != ESP_OK) {
|
if (err != ESP_OK) {
|
||||||
return err;
|
return err;
|
||||||
@ -491,14 +486,11 @@ esp_err_t Storage::readMultiPageBlob(uint8_t nsIndex, const char* key, void* dat
|
|||||||
|
|
||||||
offset += item.varLength.dataSize;
|
offset += item.varLength.dataSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err == ESP_ERR_NVS_NOT_FOUND || err == ESP_ERR_NVS_INVALID_LENGTH) {
|
|
||||||
// cleanup if a chunk is not found or the size is inconsistent
|
|
||||||
eraseMultiPageBlob(nsIndex, key);
|
|
||||||
}
|
|
||||||
|
|
||||||
NVS_ASSERT_OR_RETURN(offset == dataSize, ESP_FAIL);
|
NVS_ASSERT_OR_RETURN(offset == dataSize, ESP_FAIL);
|
||||||
|
|
||||||
|
if (err == ESP_ERR_NVS_NOT_FOUND) {
|
||||||
|
eraseMultiPageBlob(nsIndex, key); // cleanup if a chunk is not found
|
||||||
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user