@@ -131,12 +131,14 @@ private static List<CpeMatch> extractCpeMatches(final String cveId, final List<C
131
131
// We can't compute negation.
132
132
.filter (config -> config .getNegate () == null || !config .getNegate ())
133
133
.map (Config ::getNodes )
134
+ .filter (Objects ::nonNull )
134
135
.flatMap (Collection ::stream )
135
136
// We can't compute negation.
136
137
.filter (node -> node .getNegate () == null || !node .getNegate ())
137
138
.filter (node -> node .getCpeMatch () != null )
138
- .map (node -> extractCpeMatchesFromNode (cveId , node ))
139
+ .map (node -> Optional . ofNullable ( extractCpeMatchesFromNode (cveId , node )). orElse ( List . of () ))
139
140
.flatMap (Collection ::stream )
141
+ .filter (Objects ::nonNull )
140
142
// We currently have no interest in non-vulnerable versions.
141
143
.filter (cpeMatch -> cpeMatch .getVulnerable () == null || cpeMatch .getVulnerable ())
142
144
.toList ();
@@ -370,9 +372,11 @@ private static List<Integer> parseCwes(List<Weakness> weaknesses) {
370
372
371
373
private static List <ExternalReference > parseReferences (List <Reference > references ) {
372
374
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
+ }
376
380
return externalReferences ;
377
381
}
378
382
0 commit comments