Merge branch 'bugfix/nvs-deinit-open-handle-leak_v6.1' into 'release/v6.1'

fix(nvs_flash): delete leftover handles on partition deinit (v6.1)

See merge request espressif/esp-idf!51354
This commit is contained in:
Jiang Jiang Jian
2026-08-31 11:26:26 +08:00
3 changed files with 33 additions and 1 deletions
+3
View File
@@ -85,8 +85,11 @@ static esp_err_t close_handles_and_deinit(const char* part_name)
auto it = find_if(begin(s_nvs_handles), end(s_nvs_handles), belongs_to_part);
// Same as nvs_close(): unlink first, then delete. Deleting while still linked
// UAF-corrupts the intrusive list (hangs host tests).
while (it != end(s_nvs_handles)) {
s_nvs_handles.erase(it);
delete static_cast<NVSHandleEntry*>(it);
it = find_if(begin(s_nvs_handles), end(s_nvs_handles), belongs_to_part);
}