From 058ab55a6f85937842b42981066eb83fadd820aa Mon Sep 17 00:00:00 2001 From: kota kanbe Date: Tue, 31 May 2016 11:30:33 +0900 Subject: [PATCH] Fix error handling to avoid nil pointer err on debian --- scan/debian.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scan/debian.go b/scan/debian.go index 5c033cdc..e02c75a9 100644 --- a/scan/debian.go +++ b/scan/debian.go @@ -488,6 +488,7 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac } } + errs := []error{} for i := 0; i < len(unsecurePacks); i++ { select { case pair := <-resChan: @@ -499,14 +500,16 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac o.log.Infof("(%d/%d) Scanned %s-%s : %s", i+1, len(unsecurePacks), pair.Name, pair.PackageInfo.Version, cveIDs) case err := <-errChan: - if err != nil { - return nil, err - } + errs = append(errs, err) case <-timeout: return nil, fmt.Errorf("Timeout scanPackageCveIDs") } } + if 0 < len(errs) { + return nil, fmt.Errorf("%v", errs) + } + var cveIDs []string for k := range cvePackages { cveIDs = append(cveIDs, k)