Copy authConfigs on save so data is not modified

SaveConfig sets the Username and Password to an empty string
on save.  A copy of the authConfigs need to be made so that the
in memory data is not modified.
This commit is contained in:
Michael Crosby 2013-07-25 00:35:52 +00:00
parent 6ae3305040
commit 9332c00ca5
1 changed files with 10 additions and 5 deletions

View File

@ -116,14 +116,19 @@ func SaveConfig(configFile *ConfigFile) error {
os.Remove(confFile)
return nil
}
configs := make(map[string]AuthConfig, len(configFile.Configs))
for k, authConfig := range configFile.Configs {
authConfig.Auth = encodeAuth(&authConfig)
authConfig.Username = ""
authConfig.Password = ""
configFile.Configs[k] = authConfig
authCopy := authConfig
authCopy.Auth = encodeAuth(&authCopy)
authCopy.Username = ""
authCopy.Password = ""
configs[k] = authCopy
}
b, err := json.Marshal(configFile.Configs)
b, err := json.Marshal(configs)
if err != nil {
return err
}