mirror of https://github.com/docker/cli.git
configfile: Initialize nil AuthConfigs
Initialize AuthConfigs map if it's nil before returning it. This fixes fileStore.Store nil dereference panic when adding a new key to the map. Signed-off-by: Danial Gharib <danial.mail.gh@gmail.com> Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
parent
803d4a9143
commit
ad43df5e86
|
@ -94,6 +94,9 @@ func (configFile *ConfigFile) ContainsAuth() bool {
|
||||||
|
|
||||||
// GetAuthConfigs returns the mapping of repo to auth configuration
|
// GetAuthConfigs returns the mapping of repo to auth configuration
|
||||||
func (configFile *ConfigFile) GetAuthConfigs() map[string]types.AuthConfig {
|
func (configFile *ConfigFile) GetAuthConfigs() map[string]types.AuthConfig {
|
||||||
|
if configFile.AuthConfigs == nil {
|
||||||
|
configFile.AuthConfigs = make(map[string]types.AuthConfig)
|
||||||
|
}
|
||||||
return configFile.AuthConfigs
|
return configFile.AuthConfigs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,8 @@ func (c *fileStore) GetAll() (map[string]types.AuthConfig, error) {
|
||||||
|
|
||||||
// Store saves the given credentials in the file store.
|
// Store saves the given credentials in the file store.
|
||||||
func (c *fileStore) Store(authConfig types.AuthConfig) error {
|
func (c *fileStore) Store(authConfig types.AuthConfig) error {
|
||||||
c.file.GetAuthConfigs()[authConfig.ServerAddress] = authConfig
|
authConfigs := c.file.GetAuthConfigs()
|
||||||
|
authConfigs[authConfig.ServerAddress] = authConfig
|
||||||
return c.file.Save()
|
return c.file.Save()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue