Skip to content

Commit 98f64d4

Browse files
authored
Checkmarx: Add safeguards for "null" values in result types (DefectDojo#8221)
1 parent eaeba52 commit 98f64d4

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

dojo/tools/checkmarx/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ def _get_findings_json(self, file, test):
402402
results = data.get("scanResults", [])
403403
for result_type in results:
404404
# manage sca part
405-
if result_type == "sast":
405+
if result_type == "sast" and results.get(result_type) is not None:
406406
for language in results[result_type].get("languages", []):
407407
for query in language.get("queries", []):
408408
descriptiondetails = query.get("description", "")
@@ -443,7 +443,7 @@ def _get_findings_json(self, file, test):
443443
finding.line = last_node.get("line")
444444
finding.unsaved_tags = [result_type]
445445
findings.append(finding)
446-
if result_type == "sca":
446+
if result_type == "sca" and results.get(result_type) is not None:
447447
for package in results[result_type].get("packages", []):
448448
component_name = package.get("name").split("-")[-2]
449449
component_version = package.get("name").split("-")[-1]
@@ -483,7 +483,7 @@ def _get_findings_json(self, file, test):
483483
)
484484
finding.unsaved_tags = [result_type]
485485
findings.append(finding)
486-
if result_type == "kics":
486+
if result_type == "kics" and results.get(result_type) is not None:
487487
for kics_type in results[result_type].get("results", []):
488488
name = kics_type.get("name")
489489
for vulnerability in kics_type.get("vulnerabilities", []):

unittests/scans/checkmarx/multiple_findings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,8 @@
570570
"low": 5,
571571
"info": 0
572572
}
573-
}
573+
},
574+
"sca": null,
575+
"kics": null
574576
}
575577
}

0 commit comments

Comments
 (0)