From ad75a951ac93ad2f78b2c55e1a0db9dd128be59a Mon Sep 17 00:00:00 2001 From: Parth Patel <88045217+pxp928@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:37:16 -0500 Subject: [PATCH] remove check if pkgID has already been checked (#1608) Signed-off-by: pxp928 --- cmd/guacone/cmd/vulnerability.go | 33 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/cmd/guacone/cmd/vulnerability.go b/cmd/guacone/cmd/vulnerability.go index c7562e47d1..a3add2b953 100644 --- a/cmd/guacone/cmd/vulnerability.go +++ b/cmd/guacone/cmd/vulnerability.go @@ -521,6 +521,7 @@ func searchPkgViaHasSBOM(ctx context.Context, gqlclient graphql.Client, searchSt path = append([]string{pkgResponse.Namespaces[0].Names[0].Versions[0].Id, pkgResponse.Namespaces[0].Names[0].Id, pkgResponse.Namespaces[0].Id, pkgResponse.Id}, path...) + checkedIDs[pkgResponse.Namespaces[0].Names[0].Versions[0].Id] = true } } } @@ -537,23 +538,21 @@ func searchPkgViaHasSBOM(ctx context.Context, gqlclient graphql.Client, searchSt matchingDepPkgVersionIDs = append(matchingDepPkgVersionIDs, isDep.DependencyPackage.Namespaces[0].Names[0].Versions[0].Id) } for _, pkgID := range matchingDepPkgVersionIDs { - if !checkedIDs[pkgID] { - dfsN, seen := nodeMap[pkgID] - if !seen { - dfsN = dfsNode{ - parent: now, - pkgID: pkgID, - depth: nowNode.depth + 1, - } - nodeMap[pkgID] = dfsN + dfsN, seen := nodeMap[pkgID] + if !seen { + dfsN = dfsNode{ + parent: now, + pkgID: pkgID, + depth: nowNode.depth + 1, } - if !dfsN.expanded { - queue = append(queue, pkgID) - } - wg.Add(1) - go concurrentVulnAndVexNeighbors(ctx, gqlclient, pkgID, isDep, resultChan, &wg) - checkedIDs[pkgID] = true + nodeMap[pkgID] = dfsN + } + if !dfsN.expanded { + queue = append(queue, pkgID) } + wg.Add(1) + go concurrentVulnAndVexNeighbors(ctx, gqlclient, pkgID, isDep, resultChan, &wg) + checkedIDs[pkgID] = true } } } @@ -580,8 +579,8 @@ func searchPkgViaHasSBOM(ctx context.Context, gqlclient graphql.Client, searchSt certifyVuln.Package.Id}...) } path = append(path, result.isDep.Id, result.isDep.Package.Namespaces[0].Names[0].Versions[0].Id, - result.isDep.DependencyPackage.Namespaces[0].Names[0].Id, result.isDep.DependencyPackage.Namespaces[0].Id, - result.isDep.DependencyPackage.Id) + result.isDep.Package.Namespaces[0].Names[0].Id, result.isDep.Package.Namespaces[0].Id, + result.isDep.Package.Id) } }