diff options
| author | Dan Engelbrecht <[email protected]> | 2024-12-02 14:08:08 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-12-02 14:08:08 +0100 |
| commit | 23d8341e3e43a81de777cccd81d1ae7494f26606 (patch) | |
| tree | cf31bbd789e52645aa40200833e8c49c6e4c3776 /src/zenstore/workspaces.cpp | |
| parent | 5.5.15-pre1 (diff) | |
| download | zen-23d8341e3e43a81de777cccd81d1ae7494f26606.tar.xz zen-23d8341e3e43a81de777cccd81d1ae7494f26606.zip | |
validate that root path exists for workspace before adding it (#250)
Diffstat (limited to 'src/zenstore/workspaces.cpp')
| -rw-r--r-- | src/zenstore/workspaces.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/zenstore/workspaces.cpp b/src/zenstore/workspaces.cpp index be921552a..80e03296c 100644 --- a/src/zenstore/workspaces.cpp +++ b/src/zenstore/workspaces.cpp @@ -902,6 +902,11 @@ Workspaces::AddWorkspace(const LoggerRef& Log, const std::filesystem::path& Work { throw std::invalid_argument(fmt::format("invalid root path '{}' for workspace {}", Configuration.RootPath, Configuration.Id)); } + if (!std::filesystem::is_directory(Configuration.RootPath)) + { + throw std::invalid_argument( + fmt::format("workspace root path '{}' does not exist for workspace '{}'", Configuration.RootPath, Configuration.Id)); + } std::string Error; std::vector<WorkspaceConfiguration> WorkspaceConfigurations = ReadConfig(Log, WorkspaceStatePath, Error); if (!Error.empty()) |