1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Close readclosers returned by DecompressStream

Signed-off-by: Joe Ferguson <joe@infosiftr.com>
This commit is contained in:
Joe Ferguson 2017-07-21 17:47:15 -07:00
parent 1fe0e49d20
commit 76e99e1a8b
3 changed files with 5 additions and 1 deletions

View file

@ -127,6 +127,7 @@ func IsArchivePath(path string) bool {
if err != nil { if err != nil {
return false return false
} }
defer rdr.Close()
r := tar.NewReader(rdr) r := tar.NewReader(rdr)
_, err = r.Next() _, err = r.Next()
return err == nil return err == nil

View file

@ -247,10 +247,12 @@ func applyLayerHandler(dest string, layer io.Reader, options *TarOptions, decomp
defer system.Umask(oldmask) // ignore err, ErrNotSupportedPlatform defer system.Umask(oldmask) // ignore err, ErrNotSupportedPlatform
if decompress { if decompress {
layer, err = DecompressStream(layer) decompLayer, err := DecompressStream(layer)
if err != nil { if err != nil {
return 0, err return 0, err
} }
defer decompLayer.Close()
layer = decompLayer
} }
return UnpackLayer(dest, layer, options) return UnpackLayer(dest, layer, options)
} }

View file

@ -145,6 +145,7 @@ func (dm *downloadManager) Download(ctx context.Context, initialRootFS image.Roo
if err != nil { if err != nil {
return initialRootFS, nil, err return initialRootFS, nil, err
} }
defer inflatedLayerData.Close()
digester := digest.Canonical.Digester() digester := digest.Canonical.Digester()
if _, err := chrootarchive.ApplyLayer(dm.tmpDir, io.TeeReader(inflatedLayerData, digester.Hash())); err != nil { if _, err := chrootarchive.ApplyLayer(dm.tmpDir, io.TeeReader(inflatedLayerData, digester.Hash())); err != nil {
return initialRootFS, nil, err return initialRootFS, nil, err