diff --git a/internal/cache/cache.go b/internal/cache/cache.go index db8f1ae02..aacb8db65 100644 --- a/internal/cache/cache.go +++ b/internal/cache/cache.go @@ -86,6 +86,9 @@ func writeCachedirTag(dir string) error { func New(id string, basedir string) (c *Cache, err error) { if basedir == "" { basedir, err = DefaultDir() + if err != nil { + return nil, err + } } err = mkdirCacheDir(basedir) diff --git a/internal/cache/dir.go b/internal/cache/dir.go index 55ec8ea9a..398e806ca 100644 --- a/internal/cache/dir.go +++ b/internal/cache/dir.go @@ -56,10 +56,16 @@ func DefaultDir() (cachedir string, err error) { cachedir, err = darwinCacheDir() case "windows": cachedir, err = windowsCacheDir() + default: + // Default to XDG for Linux and any other OSes. + cachedir, err = xdgCacheDir() } - // Default to XDG for Linux and any other OSes. - return xdgCacheDir() + if err != nil { + return "", err + } + + return cachedir, nil } func mkdirCacheDir(cachedir string) error {