From 11ef8730d0fd0bb1a055fde7531756361c819dd3 Mon Sep 17 00:00:00 2001 From: Nikolas Falco Date: Fri, 18 Aug 2023 23:04:16 +0200 Subject: [PATCH] [JENKINS-71851] Dependency-check 5.4.1 fails with NPE when installer is of type folder Fix NPE when installer is of kind folder --- .../DependencyCheck/DependencyCheckToolBuilder.java | 12 +++++++----- .../DependencyCheckToolBuilderTest.java | 3 +-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilder.java b/src/main/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilder.java index 4f884e7..439d7ab 100644 --- a/src/main/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilder.java +++ b/src/main/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilder.java @@ -175,11 +175,13 @@ public void perform(@NonNull final Run build, private boolean isSuccess(int exitCode) { InstallSourceProperty installSourceProperty = getDependencyCheck().getProperties().get(InstallSourceProperty.class); - DependencyCheckInstaller ui = installSourceProperty.installers.get(DependencyCheckInstaller.class); - if (ui != null) { - Version v = Version.parse(ui.id); - if (v.feature() < 8) { - return exitCode == 0; + if (installSourceProperty != null) { + DependencyCheckInstaller ui = installSourceProperty.installers.get(DependencyCheckInstaller.class); + if (ui != null) { + Version v = Version.parse(ui.id); + if (v.feature() < 8) { + return exitCode == 0; + } } } // fallback handle exitcode like version 8 or greater diff --git a/src/test/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilderTest.java b/src/test/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilderTest.java index ff5109c..6aa9d4e 100644 --- a/src/test/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilderTest.java +++ b/src/test/java/org/jenkinsci/plugins/DependencyCheck/DependencyCheckToolBuilderTest.java @@ -25,7 +25,6 @@ import java.io.PrintStream; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.jenkinsci.plugins.DependencyCheck.tools.DependencyCheckInstallation; @@ -126,7 +125,7 @@ public void test_exit_code_by_dependency_check_version() throws Exception { } private DependencyCheckInstallation prepareInstaller(String name, String version, boolean isAutoinstaller) throws Exception { - List installers = Collections.emptyList(); + List installers = null; if (isAutoinstaller) { installers = Arrays.asList(new DependencyCheckInstaller(version)); }