diff --git a/config/base.go b/config/base.go index f5477003..89e2303f 100644 --- a/config/base.go +++ b/config/base.go @@ -14,11 +14,13 @@ func save(filePath string, cfg interface{}) error { if err := os.MkdirAll(dir, 0700); err != nil { return err } - file, err := os.Create(filePath) + + file, err := os.OpenFile(filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600) if err != nil { return err } defer file.Close() + encoder := json.NewEncoder(file) encoder.SetIndent("", " ") return encoder.Encode(cfg) diff --git a/config/keys.go b/config/keys.go index f8ac1819..82e8d0ca 100644 --- a/config/keys.go +++ b/config/keys.go @@ -148,7 +148,7 @@ func (s *SigningKeys) Remove(keyName ...string) ([]string, error) { } s.Keys = slices.Delete(s.Keys, idx) deletedNames = append(deletedNames, name) - if *s.Default == name { + if s.Default !=nil && *s.Default == name { s.Default = nil } }