diff --git a/config/config.go b/config/config.go index d97f0bd4..ee5b35ca 100644 --- a/config/config.go +++ b/config/config.go @@ -94,12 +94,15 @@ func (c *Config) Validate() error { return nil } -// Default returns the default configuration. +// Default returns a *copy* of the default configuration. func Default() *Config { - return &Config{ - Emulators: DefaultEmulators, - Networks: DefaultNetworks, + cfg := &Config{ + Emulators: make(Emulators, len(DefaultEmulators)), + Networks: make(Networks, len(DefaultNetworks)), } + copy(cfg.Emulators, DefaultEmulators) + copy(cfg.Networks, DefaultNetworks) + return cfg } var ErrOutdatedFormat = errors.New("you are using old configuration format") diff --git a/output/spinner.go b/output/spinner.go index 6776657e..85d4d7d4 100644 --- a/output/spinner.go +++ b/output/spinner.go @@ -75,7 +75,9 @@ func (s *Spinner) run() { spinnerCharset[i%len(spinnerCharset)], s.suffix, ) + mu.Lock() _ = writer.Flush() + mu.Unlock() i++ } }