diff --git a/src/main/java/org/dependencytrack/parser/nvd/api20/ModelConverter.java b/src/main/java/org/dependencytrack/parser/nvd/api20/ModelConverter.java index 250aed2fbb..6d0aefe9a6 100644 --- a/src/main/java/org/dependencytrack/parser/nvd/api20/ModelConverter.java +++ b/src/main/java/org/dependencytrack/parser/nvd/api20/ModelConverter.java @@ -179,6 +179,7 @@ public static List convertConfigurations(final String cveId, final List cpeMatches = extractCpeMatches(cveId, configurations); return cpeMatches.stream() .map(cpeMatch -> convertCpeMatch(cveId, cpeMatch)) + .filter(Objects::nonNull) .filter(distinctIgnoringDatastoreIdentity()) .collect(Collectors.toList()); } @@ -283,10 +284,10 @@ private static VulnerableSoftware convertCpeMatch(final String cveId, final CpeM return vs; } catch (CpeParsingException e) { - LOGGER.warn("Failed to parse CPE %s of %s; Skipping".formatted(cpeMatch.getCriteria(), cveId)); + LOGGER.warn("Failed to parse CPE %s of %s; Skipping".formatted(cpeMatch.getCriteria(), cveId), e); return null; } catch (CpeEncodingException e) { - LOGGER.warn("Failed to encode CPE %s of %s; Skipping".formatted(cpeMatch.getCriteria(), cveId)); + LOGGER.warn("Failed to encode CPE %s of %s; Skipping".formatted(cpeMatch.getCriteria(), cveId), e); return null; } }