Skip to content

client: use io.LimitedReader for reading HTTP error#38006

Merged
vdemeester merged 1 commit intomoby:masterfrom
AkihiroSuda:limit-client-readall
Oct 11, 2018
Merged

client: use io.LimitedReader for reading HTTP error#38006
vdemeester merged 1 commit intomoby:masterfrom
AkihiroSuda:limit-client-readall

Conversation

@AkihiroSuda
Copy link
Copy Markdown
Member

Signed-off-by: Akihiro Suda suda.akihiro@lab.ntt.co.jp

- What I did

client.checkResponseErr() was hanging and consuming infinite memory
when the serverResp.Body io.Reader returns infinite stream.

This commit prohibits reading more than 1MiB.

- How I did it

use io.LimitedReader with 1 MiB limit.

- How to verify it

go test -run TestInfinite -v ./client/ (hangs and consumes all memory without the fix for request.go)

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

🐧

client.checkResponseErr() was hanging and consuming infinite memory
when the serverResp.Body io.Reader returns infinite stream.

This commit prohibits reading more than 1MiB.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Copy link
Copy Markdown
Member

@yongtang yongtang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 11, 2018

Codecov Report

Merging #38006 into master will decrease coverage by 0.09%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #38006     +/-   ##
=========================================
- Coverage   36.13%   36.03%   -0.1%     
=========================================
  Files         610      610             
  Lines       45159    45291    +132     
=========================================
+ Hits        16316    16322      +6     
- Misses      26605    26732    +127     
+ Partials     2238     2237      -1

Copy link
Copy Markdown
Member

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🐸

@vdemeester vdemeester merged commit 1f48759 into moby:master Oct 11, 2018
thaJeztah added a commit to thaJeztah/cli that referenced this pull request Mar 27, 2019
relevant changes;

- moby/moby#38006 / docker-archive/engine#114 client: use io.LimitedReader for reading HTTP error
- moby/moby#38634 / docker-archive/engine#167 pkg/archive:CopyTo(): fix for long dest filename
  - fixes docker/for-linux#484 for 18.09
- moby/moby#38944 / docker-archive/engine#183 gitutils: add validation for ref
- moby/moby#37780 / docker-archive/engine#55 pkg/progress: work around closing closed channel panic
  - addresses moby/moby#/37735 pkg/progress: panic due to race on shutdown

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
docker-jenkins pushed a commit to docker-archive/docker-ce that referenced this pull request Mar 27, 2019
relevant changes;

- moby/moby#38006 / docker-archive/engine#114 client: use io.LimitedReader for reading HTTP error
- moby/moby#38634 / docker-archive/engine#167 pkg/archive:CopyTo(): fix for long dest filename
  - fixes docker/for-linux#484 for 18.09
- moby/moby#38944 / docker-archive/engine#183 gitutils: add validation for ref
- moby/moby#37780 / docker-archive/engine#55 pkg/progress: work around closing closed channel panic
  - addresses moby/moby#/37735 pkg/progress: panic due to race on shutdown

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 010c234a0d5a03d450ebec60be37dd9f279feeca
Component: cli
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants