From 87f390b37d51a4c8777d27836389e86e78c690d1 Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Sat, 13 May 2017 23:13:42 +0200 Subject: [PATCH] Fix invalid rootPath when creating a new project. --- lib/xdsconfig/config.go | 6 ++++++ lib/xdsconfig/folderconfig.go | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go index df98439..801891b 100644 --- a/lib/xdsconfig/config.go +++ b/lib/xdsconfig/config.go @@ -186,6 +186,12 @@ func (c *Config) UpdateAll(newCfg Config) error { // UpdateFolder updates a specific folder into the current configuration func (c *Config) UpdateFolder(newFolder FolderConfig) (FolderConfig, error) { + // rootPath should not be empty + if newFolder.rootPath == "" { + newFolder.rootPath = c.ShareRootDir + } + + // Sanity check of folder settings if err := FolderVerify(newFolder); err != nil { return FolderConfig{}, err } diff --git a/lib/xdsconfig/folderconfig.go b/lib/xdsconfig/folderconfig.go index e8bff4f..f22e76f 100644 --- a/lib/xdsconfig/folderconfig.go +++ b/lib/xdsconfig/folderconfig.go @@ -70,6 +70,10 @@ func FolderVerify(fCfg FolderConfig) error { err = fmt.Errorf("device id not set (SyncThingID field)") } + if fCfg.rootPath == "" { + err = fmt.Errorf("rootPath must not be empty") + } + if err != nil { fCfg.Status = FolderStatusErrorConfig log.Printf("ERROR FolderVerify: %v\n", err) -- 2.16.6