From 5fd7249c69d2659f658ba998a59b7fb8bf1b1f9c Mon Sep 17 00:00:00 2001 From: Rene Zbinden Date: Tue, 13 Apr 2021 14:45:20 +0200 Subject: [PATCH] fix panic resolver's configuration file does not have read permission --- options.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/options.go b/options.go index 259b6b1..b7c4364 100644 --- a/options.go +++ b/options.go @@ -329,9 +329,16 @@ func Configuration(loader ConfigurationLoader, paths ...string) Option { return OptionFunc(func(k *Kong) error { k.loader = loader for _, path := range paths { - if _, err := os.Stat(ExpandPath(path)); os.IsNotExist(err) { - continue + f, err := os.Open(ExpandPath(path)) + if err != nil { + if os.IsNotExist(err) || os.IsPermission(err) { + continue + } + + return err } + f.Close() + resolver, err := k.LoadConfig(path) if err != nil { return errors.Wrap(err, path)