Skip to content

Commit 6790ba2

Browse files
Fix for pdf report not using default engines (Checkmarx#587)
* fix for pdf report not using default engines * fix for pdf report not using default engines * Update one-scan.yml * Update one-scan.yml --------- Co-authored-by: Pedro Lopes <83576881+pedrompflopes@users.noreply.github.com>
1 parent f4271fe commit 6790ba2

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

internal/commands/result.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,11 +1109,11 @@ func exportSbomResults(sbomWrapper wrappers.ResultsSbomWrapper,
11091109
func exportPdfResults(pdfWrapper wrappers.ResultsPdfWrapper, summary *wrappers.ResultSummary, summaryRpt, formatPdfToEmail, pdfOptions string) error {
11101110
pdfReportsPayload := &wrappers.PdfReportsPayload{}
11111111
pollingResp := &wrappers.PdfPollingResponse{}
1112-
1113-
pdfOptionsSections, pdfOptionsEngines, err := validatePdfOptions(pdfOptions)
1112+
pdfOptionsSections, pdfOptionsEngines, err := parsePDFOptions(pdfOptions, summary.EnginesEnabled)
11141113
if err != nil {
11151114
return err
11161115
}
1116+
11171117
pdfReportsPayload.ReportName = reportNameScanReport
11181118
pdfReportsPayload.ReportType = "cli"
11191119
pdfReportsPayload.FileFormat = printer.FormatPDF
@@ -1178,7 +1178,7 @@ func validateSbomOptions(sbomOption string) (string, error) {
11781178
return "", errors.Errorf("invalid SBOM option: %s", sbomOption)
11791179
}
11801180

1181-
func validatePdfOptions(pdfOptions string) (pdfOptionsSections, pdfOptionsEngines []string, err error) {
1181+
func parsePDFOptions(pdfOptions string, enabledEngines []string) (pdfOptionsSections, pdfOptionsEngines []string, err error) {
11821182
var pdfOptionsSectionsMap = map[string]string{
11831183
"scansummary": "ScanSummary",
11841184
"executivesummary": "ExecutiveSummary",
@@ -1201,6 +1201,13 @@ func validatePdfOptions(pdfOptions string) (pdfOptionsSections, pdfOptionsEngine
12011201
return nil, nil, errors.Errorf("report option \"%s\" unavailable", s)
12021202
}
12031203
}
1204+
if pdfOptionsEngines == nil {
1205+
for _, engine := range enabledEngines {
1206+
if pdfOptionsEnginesMap[engine] != "" {
1207+
pdfOptionsEngines = append(pdfOptionsEngines, pdfOptionsEnginesMap[engine])
1208+
}
1209+
}
1210+
}
12041211
return pdfOptionsSections, pdfOptionsEngines, nil
12051212
}
12061213

0 commit comments

Comments
 (0)