Skip to content

Commit 348bb6a

Browse files
authored
Merge pull request #1847 from DependencyTrack/add-null-checks-in-nvd-parser
2 parents b1685f8 + 0a93487 commit 348bb6a

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

mirror-service/src/main/java/org/dependencytrack/vulnmirror/datasource/nvd/NvdToCyclonedxParser.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,14 @@ private static List<CpeMatch> extractCpeMatches(final String cveId, final List<C
131131
// We can't compute negation.
132132
.filter(config -> config.getNegate() == null || !config.getNegate())
133133
.map(Config::getNodes)
134+
.filter(Objects::nonNull)
134135
.flatMap(Collection::stream)
135136
// We can't compute negation.
136137
.filter(node -> node.getNegate() == null || !node.getNegate())
137138
.filter(node -> node.getCpeMatch() != null)
138-
.map(node -> extractCpeMatchesFromNode(cveId, node))
139+
.map(node -> Optional.ofNullable(extractCpeMatchesFromNode(cveId, node)).orElse(List.of()))
139140
.flatMap(Collection::stream)
141+
.filter(Objects::nonNull)
140142
// We currently have no interest in non-vulnerable versions.
141143
.filter(cpeMatch -> cpeMatch.getVulnerable() == null || cpeMatch.getVulnerable())
142144
.toList();
@@ -370,9 +372,11 @@ private static List<Integer> parseCwes(List<Weakness> weaknesses) {
370372

371373
private static List<ExternalReference> parseReferences(List<Reference> references) {
372374
List<ExternalReference> externalReferences = new ArrayList<>();
373-
references.forEach(reference -> externalReferences.add(ExternalReference.newBuilder()
374-
.setUrl(reference.getUrl())
375-
.build()));
375+
if (references != null) {
376+
references.forEach(reference -> externalReferences.add(ExternalReference.newBuilder()
377+
.setUrl(reference.getUrl())
378+
.build()));
379+
}
376380
return externalReferences;
377381
}
378382

0 commit comments

Comments
 (0)