diff --git a/viper.go b/viper.go index 363a6f3..79c334e 100644 --- a/viper.go +++ b/viper.go @@ -1378,7 +1378,13 @@ func (v *Viper) writeConfig(filename string, force bool) error { if err != nil { return err } - return v.marshalWriter(f, configType) + defer f.Close() + + if err := v.marshalWriter(f, configType); err != nil { + return err + } + + return f.Sync() } // Unmarshal a Reader into a map.