From 830c458fe761aca5ad2facec33b3d0798caab116 Mon Sep 17 00:00:00 2001 From: Sam Alba Date: Mon, 3 Jun 2013 12:14:57 -0700 Subject: [PATCH] Fixed missing Body.Close when doing some HTTP requests. It should improve some request issues. --- registry/registry.go | 7 ++++++- server.go | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/registry/registry.go b/registry/registry.go index 36b01d643a..d9f53ee9f9 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -64,6 +64,9 @@ func (r *Registry) LookupRemoteImage(imgId, registry string, authConfig *auth.Au } req.SetBasicAuth(authConfig.Username, authConfig.Password) res, err := rt.RoundTrip(req) + if err == nil { + defer res.Body.Close() + } return err == nil && res.StatusCode == 307 } @@ -152,7 +155,9 @@ func (r *Registry) GetRemoteTags(registries []string, repository string, token [ } req.Header.Set("Authorization", "Token "+strings.Join(token, ", ")) res, err := r.client.Do(req) - defer res.Body.Close() + if err == nil { + defer res.Body.Close() + } utils.Debugf("Got status code %d from %s", res.StatusCode, endpoint) if err != nil || (res.StatusCode != 200 && res.StatusCode != 404) { continue diff --git a/server.go b/server.go index fa847b9ce5..08cb37a72e 100644 --- a/server.go +++ b/server.go @@ -321,6 +321,7 @@ func (srv *Server) pullImage(r *registry.Registry, out io.Writer, imgId, endpoin if err != nil { return err } + defer layer.Close() if err := srv.runtime.graph.Register(utils.ProgressReader(layer, contentLength, out, sf.FormatProgress("Downloading", "%v/%v (%v)"), sf), false, img); err != nil { return err }