fix(fatfs): Fix esp_vfs_fat_unregister_path leak if esp_vfs_unregister fails

This commit is contained in:
Adam Múdry
2026-06-11 12:50:50 +02:00
parent f82a0593e0
commit 318d312607

View File

@@ -237,7 +237,7 @@ esp_err_t esp_vfs_fat_unregister_path(const char* base_path)
vfs_fat_ctx_t* fat_ctx = s_fat_ctxs[ctx];
esp_err_t err = esp_vfs_unregister(fat_ctx->base_path);
if (err != ESP_OK) {
return err;
ESP_LOGW(TAG, "esp_vfs_unregister failed (0x%x), cleaning up anyway", err); // should not happen, but if it does, we don't want to leak memory and keep the VFS in a broken state
}
_lock_close(&fat_ctx->lock);
@@ -251,7 +251,7 @@ esp_err_t esp_vfs_fat_unregister_path(const char* base_path)
free(fat_ctx->flags);
free(fat_ctx);
s_fat_ctxs[ctx] = NULL;
return ESP_OK;
return err;
}
esp_err_t esp_vfs_fat_info(const char* base_path,