Do not return empty theme dirs
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 30 Jul 2016 14:21:57 +0000 (16:21 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 30 Jul 2016 14:21:57 +0000 (16:21 +0200)
This prevents reading data etc. from the root.

Fixes #2320

helpers/path.go

index a31f33948161a8545d8936b57898aea2ae4b952d..1d3419fb2d9a8ed00626c36baee33dbf402e5043 100644 (file)
@@ -183,13 +183,15 @@ func GetThemeDataDirPath() (string, error) {
 }
 
 func getThemeDirPath(path string) (string, error) {
-       var themeDir string
-       if ThemeSet() {
-               themeDir = filepath.Join(GetThemeDir(), path)
-               if _, err := os.Stat(themeDir); os.IsNotExist(err) {
-                       return "", fmt.Errorf("Unable to find %s directory for theme %s in %s", path, viper.GetString("theme"), themeDir)
-               }
+       if !ThemeSet() {
+               return "", errors.New("No theme set")
        }
+
+       themeDir := filepath.Join(GetThemeDir(), path)
+       if _, err := os.Stat(themeDir); os.IsNotExist(err) {
+               return "", fmt.Errorf("Unable to find %s directory for theme %s in %s", path, viper.GetString("theme"), themeDir)
+       }
+
        return themeDir, nil
 }