diff --git a/components/vfs/test/test_vfs_paths.c b/components/vfs/test/test_vfs_paths.c index 033a376db3..c0a863e188 100644 --- a/components/vfs/test/test_vfs_paths.c +++ b/components/vfs/test/test_vfs_paths.c @@ -23,8 +23,6 @@ #include "unity.h" #include "esp_log.h" -static const char* TAG = "test_vfs_paths"; - /* Dummy VFS implementation to check if VFS is called or not with expected path */ typedef struct { @@ -175,4 +173,6 @@ TEST_CASE("vfs parses paths correctly", "[vfs]") test_not_called(&inst_foo1, "/foo/file1"); test_opened(&inst_foo1, "/foo1/file1"); test_not_opened(&inst_foo1, "/foo1/file"); + TEST_ESP_OK( esp_vfs_unregister("/foo") ); + TEST_ESP_OK( esp_vfs_unregister("/foo1") ); } diff --git a/components/vfs/vfs.c b/components/vfs/vfs.c index b656cb22b9..6501359bb1 100644 --- a/components/vfs/vfs.c +++ b/components/vfs/vfs.c @@ -91,6 +91,9 @@ esp_err_t esp_vfs_unregister(const char* base_path) { for (size_t i = 0; i < s_vfs_count; ++i) { vfs_entry_t* vfs = s_vfs[i]; + if (vfs == NULL) { + continue; + } if (memcmp(base_path, vfs->path_prefix, vfs->path_prefix_len) == 0) { free(vfs); s_vfs[i] = NULL;