Skip to content

Commit 76e99e1

Browse files
committed
Close readclosers returned by DecompressStream
Signed-off-by: Joe Ferguson <[email protected]>
1 parent 1fe0e49 commit 76e99e1

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

pkg/archive/archive.go

+1
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ func IsArchivePath(path string) bool {
127127
if err != nil {
128128
return false
129129
}
130+
defer rdr.Close()
130131
r := tar.NewReader(rdr)
131132
_, err = r.Next()
132133
return err == nil

pkg/archive/diff.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,12 @@ func applyLayerHandler(dest string, layer io.Reader, options *TarOptions, decomp
247247
defer system.Umask(oldmask) // ignore err, ErrNotSupportedPlatform
248248

249249
if decompress {
250-
layer, err = DecompressStream(layer)
250+
decompLayer, err := DecompressStream(layer)
251251
if err != nil {
252252
return 0, err
253253
}
254+
defer decompLayer.Close()
255+
layer = decompLayer
254256
}
255257
return UnpackLayer(dest, layer, options)
256258
}

plugin/blobstore.go

+1
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ func (dm *downloadManager) Download(ctx context.Context, initialRootFS image.Roo
145145
if err != nil {
146146
return initialRootFS, nil, err
147147
}
148+
defer inflatedLayerData.Close()
148149
digester := digest.Canonical.Digester()
149150
if _, err := chrootarchive.ApplyLayer(dm.tmpDir, io.TeeReader(inflatedLayerData, digester.Hash())); err != nil {
150151
return initialRootFS, nil, err

0 commit comments

Comments
 (0)