Prevent loop with var overshadowing

Incase of a 3xx redirect the var was being overshowed and ever changed
causing an infinite loop.

Fixes #9480

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2014-12-10 17:37:31 -08:00
parent df85a0f700
commit 3911c8b8dc

View file

@ -505,7 +505,7 @@ func (r *Session) PushImageJSONIndex(remote string, imgList []*ImgData, validate
// Redirect if necessary // Redirect if necessary
for res.StatusCode >= 300 && res.StatusCode < 400 { for res.StatusCode >= 300 && res.StatusCode < 400 {
log.Debugf("Redirected to %s", res.Header.Get("Location")) log.Debugf("Redirected to %s", res.Header.Get("Location"))
req, err = r.reqFactory.NewRequest("PUT", res.Header.Get("Location"), bytes.NewReader(imgListJSON)) req, err := r.reqFactory.NewRequest("PUT", res.Header.Get("Location"), bytes.NewReader(imgListJSON))
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -515,10 +515,11 @@ func (r *Session) PushImageJSONIndex(remote string, imgList []*ImgData, validate
if validate { if validate {
req.Header["X-Docker-Endpoints"] = regs req.Header["X-Docker-Endpoints"] = regs
} }
res, _, err := r.doRequest(req) redirect, _, err := r.doRequest(req)
if err != nil { if err != nil {
return nil, err return nil, err
} }
res = redirect
defer res.Body.Close() defer res.Body.Close()
} }