From cdeb41a58ce0c65138b77a3b11b4930f405a0fec Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Wed, 25 Sep 2019 15:52:46 +0300 Subject: [PATCH] Fix wrong break (fanal#38) --- analyzer/pkg/rpm/rpm.go | 5 ++++- analyzer/pkg/rpmcmd/rpm.go | 5 ++++- extractor/docker/docker.go | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/analyzer/pkg/rpm/rpm.go b/analyzer/pkg/rpm/rpm.go index f707534f32..987e272e80 100644 --- a/analyzer/pkg/rpm/rpm.go +++ b/analyzer/pkg/rpm/rpm.go @@ -33,7 +33,10 @@ func (a rpmPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.Pack if !detected { return nil, analyzer.ErrNoPkgsDetected } - return pkgs, xerrors.Errorf("failed to parse the pkg info: %w", err) + if err != nil { + return nil, xerrors.Errorf("failed to parse the pkg info: %w", err) + } + return pkgs, nil } func (a rpmPkgAnalyzer) parsePkgInfo(packageBytes []byte) (pkgs []analyzer.Package, err error) { diff --git a/analyzer/pkg/rpmcmd/rpm.go b/analyzer/pkg/rpmcmd/rpm.go index 1eda01645e..2b38cd1cd6 100644 --- a/analyzer/pkg/rpmcmd/rpm.go +++ b/analyzer/pkg/rpmcmd/rpm.go @@ -36,7 +36,10 @@ func (a rpmCmdPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P if !detected { return pkgs, analyzer.ErrNoPkgsDetected } - return pkgs, xerrors.Errorf("failed to parse the pkg info: %w", err) + if err != nil { + return nil, xerrors.Errorf("failed to parse the pkg info: %w", err) + } + return pkgs, nil } func (a rpmCmdPkgAnalyzer) parsePkgInfo(packageBytes []byte) (pkgs []analyzer.Package, err error) { diff --git a/extractor/docker/docker.go b/extractor/docker/docker.go index c7aaa38f02..5a090fd834 100644 --- a/extractor/docker/docker.go +++ b/extractor/docker/docker.go @@ -340,8 +340,8 @@ func (d DockerExtractor) ExtractFiles(layer io.Reader, filenames []string) (extr if s[len(s)-1] == '/' { if filepath.Clean(s) == filepath.Dir(filePath) { extract = true + break } - break } if s == filePath || s == fileName || strings.HasPrefix(fileName, wh) {