Skip to content

Commit 7e381f5

Browse files
authored
Fix SARIF parser crash on empty extensions
Handle empty or missing tool.extensions in SARIF parser.
1 parent ea61111 commit 7e381f5

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

dojo/tools/sarif/parser.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,11 +384,12 @@ def customize_finding(self, finding, result, rule, location):
384384

385385
def get_rules(run):
386386
rules = {}
387-
rules_array = run["tool"]["driver"].get("rules", [])
388-
if len(rules_array) == 0 and run["tool"].get("extensions") is not None:
389-
rules_array = run["tool"]["extensions"][0].get("rules", [])
387+
rules_array = run['tool']['driver'].get('rules', [])
388+
if not rules_array:
389+
for extension in run['tool'].get('extensions', []):
390+
rules_array.extend(extension.get('rules', []))
390391
for item in rules_array:
391-
rules[item["id"]] = item
392+
rules[item['id']] = item
392393
return rules
393394

394395

0 commit comments

Comments
 (0)