Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeistel <6742251-feistel@users.noreply.gitlab.com>2021-08-05 03:11:58 +0300
committerfeistel <6742251-feistel@users.noreply.gitlab.com>2021-08-05 03:11:58 +0300
commit4319f904fb3a6adb226976b67e5f1b72fcdd473c (patch)
tree32cb9b9c2b542e81f2ea3bc32858c7f2d0d521f1 /internal/auth/auth.go
parentdc2500d0a6e06b3e762902996867d70246173523 (diff)
fix: close response body and fix memory leak
Diffstat (limited to 'internal/auth/auth.go')
-rw-r--r--internal/auth/auth.go7
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
}