From 1c55c069d36002d78229509cfb0478748fff86e9 Mon Sep 17 00:00:00 2001 From: seanblong Date: Mon, 16 Nov 2020 19:59:13 -0800 Subject: [PATCH] Remove (possible) infinite loop from CmdLogin. --- jiracmd/login.go | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/jiracmd/login.go b/jiracmd/login.go index e74cb6f6..b1f5a0b7 100644 --- a/jiracmd/login.go +++ b/jiracmd/login.go @@ -52,25 +52,20 @@ func CmdLogin(o *oreo.Client, globals *jiracli.GlobalOptions, opts *jiracli.Comm } ua := o.WithoutRedirect().WithRetries(0).WithoutCallbacks().WithPostCallback(authCallback) - for { - if session, err := jira.GetSession(o, globals.Endpoint.Value); err != nil { - // No active session so try to create a new one - _, err := jira.NewSession(ua, globals.Endpoint.Value, globals) - if err != nil { - // reset password on failed session - globals.SetPass("") - log.Errorf("%s", err) - continue - } - if !globals.Quiet.Value { - fmt.Println(ansi.Color("OK", "green"), "New session for", globals.User) - } - break - } else { - if !globals.Quiet.Value { - fmt.Println(ansi.Color("OK", "green"), "Found session for", session.Name) - } - break + + if session, err := jira.GetSession(o, globals.Endpoint.Value); err != nil { + // No active session so try to create a new one + _, err := jira.NewSession(ua, globals.Endpoint.Value, globals) + if err != nil { + // reset password on failed session + globals.SetPass("") + log.Errorf("%s", err) + } else if !globals.Quiet.Value { + fmt.Println(ansi.Color("OK", "green"), "New session for", globals.User) + } + } else { + if !globals.Quiet.Value { + fmt.Println(ansi.Color("OK", "green"), "Found session for", session.Name) } } return nil