From b5a74ee875008fc0ca1bd943662dd2e748d1d8e4 Mon Sep 17 00:00:00 2001 From: Sun Hongliang Date: Wed, 27 Apr 2016 11:41:21 +0800 Subject: [PATCH] close http response body to avoid potential memory leak Signed-off-by: Sun Hongliang --- cluster/engine.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cluster/engine.go b/cluster/engine.go index 308dad7a18..06a4e09820 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -988,14 +988,16 @@ func (e *Engine) Pull(image string, authConfig *types.AuthConfig) error { if err != nil { return err } - pullResponse, err := e.apiClient.ImagePull(context.Background(), pullOpts, nil) + pullResponseBody, err := e.apiClient.ImagePull(context.Background(), pullOpts, nil) e.CheckConnectionErr(err) if err != nil { return err } + defer pullResponseBody.Close() + // wait until the image download is finished - dec := json.NewDecoder(pullResponse) + dec := json.NewDecoder(pullResponseBody) m := map[string]interface{}{} for { if err := dec.Decode(&m); err != nil { @@ -1023,8 +1025,11 @@ func (e *Engine) Load(reader io.Reader) error { return err } + defer loadResponse.Body.Close() + // wait until the image load is finished dec := json.NewDecoder(loadResponse.Body) + m := map[string]interface{}{} for { if err := dec.Decode(&m); err != nil {