diff options
author | feistel <6742251-feistel@users.noreply.gitlab.com> | 2021-08-05 03:11:58 +0300 |
---|---|---|
committer | feistel <6742251-feistel@users.noreply.gitlab.com> | 2021-08-05 03:11:58 +0300 |
commit | 4319f904fb3a6adb226976b67e5f1b72fcdd473c (patch) | |
tree | 32cb9b9c2b542e81f2ea3bc32858c7f2d0d521f1 /internal/auth/auth.go | |
parent | dc2500d0a6e06b3e762902996867d70246173523 (diff) |
fix: close response body and fix memory leak
Diffstat (limited to 'internal/auth/auth.go')
-rw-r--r-- | internal/auth/auth.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/auth/auth.go b/internal/auth/auth.go index 7307d668..567f8180 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -393,6 +393,8 @@ func (a *Auth) fetchAccessToken(code string) (tokenResponse, error) { return token, err } + defer resp.Body.Close() + if resp.StatusCode != 200 { err = errResponseNotOk errortracking.Capture(err, errortracking.WithRequest(req)) @@ -400,7 +402,6 @@ func (a *Auth) fetchAccessToken(code string) (tokenResponse, error) { } // Parse response - defer resp.Body.Close() err = json.NewDecoder(resp.Body).Decode(&token) if err != nil { return token, err @@ -507,6 +508,10 @@ func (a *Auth) checkAuthentication(w http.ResponseWriter, r *http.Request, domai req.Header.Add("Authorization", "Bearer "+session.Values["access_token"].(string)) resp, err := a.apiClient.Do(req) + if err == nil { + defer resp.Body.Close() + } + if err == nil && checkResponseForInvalidToken(resp, session, w, r) { return true } |