Skip to content

Commit 433014b

Browse files
Merge pull request #2959 from thaJeztah/20.10_backport_fix_login_panic
[20.10 backport] Fix panic when failing to get DefaultAuthConfig
2 parents 61cb016 + de40c2b commit 433014b

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

cli/command/registry.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ func RegistryAuthenticationPrivilegedFunc(cli Cli, index *registrytypes.IndexInf
6363
indexServer := registry.GetAuthConfigKey(index)
6464
isDefaultRegistry := indexServer == ElectAuthServer(context.Background(), cli)
6565
authConfig, err := GetDefaultAuthConfig(cli, true, indexServer, isDefaultRegistry)
66+
if authConfig == nil {
67+
authConfig = &types.AuthConfig{}
68+
}
6669
if err != nil {
6770
fmt.Fprintf(cli.Err(), "Unable to retrieve stored credentials for %s, error: %s.\n", indexServer, err)
6871
}

cli/command/registry/login.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,12 @@ func runLogin(dockerCli command.Cli, opts loginOptions) error { //nolint: gocycl
111111
serverAddress = authServer
112112
}
113113

114-
var err error
115-
var authConfig *types.AuthConfig
116114
var response registrytypes.AuthenticateOKBody
117115
isDefaultRegistry := serverAddress == authServer
118-
authConfig, err = command.GetDefaultAuthConfig(dockerCli, opts.user == "" && opts.password == "", serverAddress, isDefaultRegistry)
116+
authConfig, err := command.GetDefaultAuthConfig(dockerCli, opts.user == "" && opts.password == "", serverAddress, isDefaultRegistry)
117+
if authConfig == nil {
118+
authConfig = &types.AuthConfig{}
119+
}
119120
if err == nil && authConfig.Username != "" && authConfig.Password != "" {
120121
response, err = loginWithCredStoreCreds(ctx, dockerCli, authConfig)
121122
}

0 commit comments

Comments
 (0)