Signed-off-by: Joe Ferguson <joe@infosiftr.com>
| ... | ... |
@@ -247,10 +247,12 @@ func applyLayerHandler(dest string, layer io.Reader, options *TarOptions, decomp |
| 247 | 247 |
defer system.Umask(oldmask) // ignore err, ErrNotSupportedPlatform |
| 248 | 248 |
|
| 249 | 249 |
if decompress {
|
| 250 |
- layer, err = DecompressStream(layer) |
|
| 250 |
+ decompLayer, err := DecompressStream(layer) |
|
| 251 | 251 |
if err != nil {
|
| 252 | 252 |
return 0, err |
| 253 | 253 |
} |
| 254 |
+ defer decompLayer.Close() |
|
| 255 |
+ layer = decompLayer |
|
| 254 | 256 |
} |
| 255 | 257 |
return UnpackLayer(dest, layer, options) |
| 256 | 258 |
} |
| ... | ... |
@@ -145,6 +145,7 @@ func (dm *downloadManager) Download(ctx context.Context, initialRootFS image.Roo |
| 145 | 145 |
if err != nil {
|
| 146 | 146 |
return initialRootFS, nil, err |
| 147 | 147 |
} |
| 148 |
+ defer inflatedLayerData.Close() |
|
| 148 | 149 |
digester := digest.Canonical.Digester() |
| 149 | 150 |
if _, err := chrootarchive.ApplyLayer(dm.tmpDir, io.TeeReader(inflatedLayerData, digester.Hash())); err != nil {
|
| 150 | 151 |
return initialRootFS, nil, err |