nvs: fix memory leak when writing a blob

Introduced in 5a27a63.
Clear usedPages list in all exit conditions, add test.
This commit is contained in:
Ivan Grokhotkov
2018-08-09 10:35:19 +03:00
parent ee3f64cbad
commit 5fc6397589
2 changed files with 28 additions and 3 deletions

View File

@@ -236,10 +236,9 @@ esp_err_t Storage::writeMultiPageBlob(uint8_t nsIndex, const char* key, const vo
for (auto it = std::begin(usedPages); it != std::end(usedPages); it++) {
it->mPage->eraseItem(nsIndex, ItemType::BLOB_DATA, key, ii++);
}
usedPages.clearAndFreeNodes();
return err;
}
return ESP_OK;
usedPages.clearAndFreeNodes();
return err;
}
esp_err_t Storage::writeItem(uint8_t nsIndex, ItemType datatype, const char* key, const void* data, size_t dataSize)