From 17f808da8ac70075bd06afc67bbba3a9c88e2cdc Mon Sep 17 00:00:00 2001 From: Tejal Desai Date: Fri, 28 Feb 2020 04:23:27 -0800 Subject: [PATCH 1/2] check for filepath.Walk error everywhere --- pkg/commands/copy_test.go | 3 +++ pkg/util/fs_util.go | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/commands/copy_test.go b/pkg/commands/copy_test.go index 92d27b8a8..c69d007db 100755 --- a/pkg/commands/copy_test.go +++ b/pkg/commands/copy_test.go @@ -62,6 +62,9 @@ func setupTestTemp() string { } cperr := filepath.Walk(srcPath, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } if path != srcPath { if err != nil { return err diff --git a/pkg/util/fs_util.go b/pkg/util/fs_util.go index 3e4792932..1cea6e68a 100644 --- a/pkg/util/fs_util.go +++ b/pkg/util/fs_util.go @@ -188,7 +188,11 @@ func GetFSFromLayers(root string, layers []v1.Layer, opts ...FSOpt) ([]string, e // DeleteFilesystem deletes the extracted image file system func DeleteFilesystem() error { logrus.Info("Deleting filesystem...") - return filepath.Walk(constants.RootDir, func(path string, info os.FileInfo, _ error) error { + return filepath.Walk(constants.RootDir, func(path string, info os.FileInfo, err error) error { + if err != nil { + return errors.Wrap(err, fmt.Sprintf("walking path %s", path)) + } + if CheckWhitelist(path) { if !isExist(path) { logrus.Debugf("Path %s whitelisted, but not exists", path) From dd5d2e6661fba837ef2fc03ef050ab89efeef6fa Mon Sep 17 00:00:00 2001 From: Tejal Desai Date: Fri, 28 Feb 2020 04:46:15 -0800 Subject: [PATCH 2/2] ignore errors while deleting --- pkg/util/fs_util.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/util/fs_util.go b/pkg/util/fs_util.go index 1cea6e68a..137d4bb4b 100644 --- a/pkg/util/fs_util.go +++ b/pkg/util/fs_util.go @@ -190,7 +190,8 @@ func DeleteFilesystem() error { logrus.Info("Deleting filesystem...") return filepath.Walk(constants.RootDir, func(path string, info os.FileInfo, err error) error { if err != nil { - return errors.Wrap(err, fmt.Sprintf("walking path %s", path)) + // ignore errors when deleting. + return nil } if CheckWhitelist(path) {