diff --git a/resultshandling/results.go b/resultshandling/results.go index 80802357..1ba9aacf 100644 --- a/resultshandling/results.go +++ b/resultshandling/results.go @@ -38,14 +38,17 @@ func (resultsHandler *ResultsHandler) HandleResults(scanInfo *cautils.ScanInfo) // CalculatePostureScore calculate final score func CalculatePostureScore(postureReport *reporthandling.PostureReport) float32 { - lowestScore := float32(0) + lowestScore := float32(100) for _, frameworkReport := range postureReport.FrameworkReports { totalFailed := frameworkReport.GetNumberOfFailedResources() totalResources := frameworkReport.GetNumberOfResources() - frameworkScore := (float32(totalResources) - float32(totalFailed)) / float32(totalResources) - if lowestScore > frameworkScore || frameworkScore == 0 { - frameworkScore = lowestScore + frameworkScore := float32(0) + if float32(totalResources) > 0 { + frameworkScore = (float32(totalResources) - float32(totalFailed)) / float32(totalResources) + } + if lowestScore > frameworkScore { + lowestScore = frameworkScore } }