diff --git a/logpolicy/logpolicy.go b/logpolicy/logpolicy.go index 558a9d642..952c3dc79 100644 --- a/logpolicy/logpolicy.go +++ b/logpolicy/logpolicy.go @@ -112,6 +112,8 @@ func NewConfig(collection string) *Config { // and that the PrivateID and PublicID pair are sensible. func (c *Config) Validate(collection string) error { switch { + case c == nil: + return errors.New("config is nil") case c.Collection != collection: return fmt.Errorf("config collection %q does not match %q", c.Collection, collection) case c.PrivateID.IsZero(): @@ -509,11 +511,10 @@ func New(collection string) *Policy { newc, err := ConfigFromFile(cfgPath) if err != nil { earlyLogf("logpolicy.ConfigFromFile %v: %v", cfgPath, err) - newc = NewConfig(collection) } if err := newc.Validate(collection); err != nil { - earlyLogf("logpolicy.Config.Validate for %q: %v", cfgPath, err) - newc := NewConfig(collection) + earlyLogf("logpolicy.Config.Validate for %v: %v", cfgPath, err) + newc = NewConfig(collection) if err := newc.Save(cfgPath); err != nil { earlyLogf("logpolicy.Config.Save for %v: %v", cfgPath, err) }