43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
From 56012b7a20cd09c91788f610321fefe82f4bbb5f Mon Sep 17 00:00:00 2001
|
|
From: yangfeiyu <yangfeiyu2@huawei.com>
|
|
Date: Mon, 7 Sep 2020 20:57:34 +0800
|
|
Subject: [PATCH] isula-build: fix goroutine leak problem
|
|
|
|
reason:
|
|
when import a zstd tar file, goroutine will leak because of
|
|
the unclosing channel of tar stream
|
|
|
|
Signed-off-by: yangfeiyu <yangfeiyu2@huawei.com>
|
|
---
|
|
vendor/github.com/containers/storage/layers.go | 1 +
|
|
vendor/github.com/containers/storage/pkg/archive/archive.go | 1 +
|
|
2 files changed, 2 insertions(+)
|
|
|
|
diff --git a/vendor/github.com/containers/storage/layers.go b/vendor/github.com/containers/storage/layers.go
|
|
index 1fc25bab..2d2cf08e 100644
|
|
--- a/vendor/github.com/containers/storage/layers.go
|
|
+++ b/vendor/github.com/containers/storage/layers.go
|
|
@@ -1329,6 +1329,7 @@ func (r *layerStore) ApplyDiff(to string, diff io.Reader) (size int64, err error
|
|
if err != nil {
|
|
return -1, err
|
|
}
|
|
+ defer uncompressed.Close()
|
|
uncompressedDigest := digest.Canonical.Digester()
|
|
uncompressedCounter := ioutils.NewWriteCounter(uncompressedDigest.Hash())
|
|
uidLog := make(map[uint32]struct{})
|
|
diff --git a/vendor/github.com/containers/storage/pkg/archive/archive.go b/vendor/github.com/containers/storage/pkg/archive/archive.go
|
|
index dd3b7506..58c4d184 100755
|
|
--- a/vendor/github.com/containers/storage/pkg/archive/archive.go
|
|
+++ b/vendor/github.com/containers/storage/pkg/archive/archive.go
|
|
@@ -139,6 +139,7 @@ func IsArchivePath(path string) bool {
|
|
if err != nil {
|
|
return false
|
|
}
|
|
+ defer rdr.Close()
|
|
r := tar.NewReader(rdr)
|
|
_, err = r.Next()
|
|
return err == nil
|
|
--
|
|
2.23.0
|
|
|