diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java index bb51d133b..91488e9b3 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java @@ -235,16 +235,14 @@ public class AssemblyAnalyzer extends AbstractFileTypeAnalyzer { this.setEnabled(false); throw new AnalysisException("Could not execute .NET AssemblyAnalyzer"); } + } catch (AnalysisException e) { + throw e; } catch (Throwable e) { - if (e instanceof AnalysisException) { - throw (AnalysisException) e; - } else { - LOGGER.warn("An error occurred with the .NET AssemblyAnalyzer;\n" - + "this can be ignored unless you are scanning .NET DLLs. Please see the log for more details."); - LOGGER.debug("Could not execute GrokAssembly {}", e.getMessage()); - this.setEnabled(false); - throw new AnalysisException("An error occurred with the .NET AssemblyAnalyzer", e); - } + LOGGER.warn("An error occurred with the .NET AssemblyAnalyzer;\n" + + "this can be ignored unless you are scanning .NET DLLs. Please see the log for more details."); + LOGGER.debug("Could not execute GrokAssembly {}", e.getMessage()); + this.setEnabled(false); + throw new AnalysisException("An error occurred with the .NET AssemblyAnalyzer", e); } builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java index a536b983d..14d978307 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java @@ -835,10 +835,7 @@ public class JarAnalyzer extends AbstractFileTypeAnalyzer { } if (pos > 0) { - final StringBuilder sb = new StringBuilder(pos + 3); - sb.append(desc.substring(0, pos)); - sb.append("..."); - desc = sb.toString(); + desc = desc.substring(0, pos) + "..."; } dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.LOW); dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.LOW); diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java index 1016248c9..775b6611b 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java @@ -345,8 +345,8 @@ public final class ConnectionFactory { final DependencyVersion current = DependencyVersionUtil.parseVersion(DB_SCHEMA_VERSION); final DependencyVersion db = DependencyVersionUtil.parseVersion(rs.getString(1)); if (current.compareTo(db) > 0) { - LOGGER.debug("Current Schema: " + DB_SCHEMA_VERSION); - LOGGER.debug("DB Schema: " + rs.getString(1)); + LOGGER.debug("Current Schema: {}", DB_SCHEMA_VERSION); + LOGGER.debug("DB Schema: {}", rs.getString(1)); updateSchema(conn, rs.getString(1)); if (++callDepth < 10) { ensureSchemaVersion(conn); diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.java index ad1cf8434..a0435a284 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.java @@ -70,11 +70,11 @@ public class DatabaseProperties { /** * A collection of properties about the data. */ - private Properties properties; + private final Properties properties; /** * A reference to the database. */ - private CveDB cveDB; + private final CveDB cveDB; /** * Constructs a new data properties object. @@ -83,13 +83,6 @@ public class DatabaseProperties { */ DatabaseProperties(CveDB cveDB) { this.cveDB = cveDB; - loadProperties(); - } - - /** - * Loads the properties from the database. - */ - private void loadProperties() { this.properties = cveDB.getProperties(); } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/cpe/CPEHandler.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/cpe/CPEHandler.java index 2e46a4678..87392bc4c 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/cpe/CPEHandler.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/cpe/CPEHandler.java @@ -46,7 +46,7 @@ public class CPEHandler extends DefaultHandler { /** * A reference to the current element. */ - private Element current = new Element(); + private final Element current = new Element(); /** * The logger. */ @@ -54,7 +54,7 @@ public class CPEHandler extends DefaultHandler { /** * The list of CPE values. */ - private List data = new ArrayList(); + private final List data = new ArrayList(); /** * Returns the list of CPE values. diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/DownloadTask.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/DownloadTask.java index 333f9aa4c..32cb44e81 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/DownloadTask.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/DownloadTask.java @@ -80,11 +80,11 @@ public class DownloadTask implements Callable> { /** * The CVE DB to use when processing the files. */ - private CveDB cveDB; + private final CveDB cveDB; /** * The processor service to pass the results of the download to. */ - private ExecutorService processorService; + private final ExecutorService processorService; /** * The NVD CVE Meta Data. */ @@ -92,7 +92,7 @@ public class DownloadTask implements Callable> { /** * A reference to the global settings object. */ - private Settings settings; + private final Settings settings; /** * Get the value of nvdCveInfo. @@ -155,28 +155,6 @@ public class DownloadTask implements Callable> { public void setSecond(File second) { this.second = second; } - /** - * A placeholder for an exception. - */ - private Exception exception = null; - - /** - * Get the value of exception. - * - * @return the value of exception - */ - public Exception getException() { - return exception; - } - - /** - * returns whether or not an exception occurred during download. - * - * @return whether or not an exception occurred during download - */ - public boolean hasException() { - return exception != null; - } @Override public Future call() throws Exception { diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/NvdCve12Handler.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/NvdCve12Handler.java index ef4f83d0e..c47d5ddde 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/NvdCve12Handler.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/NvdCve12Handler.java @@ -99,7 +99,6 @@ public class NvdCve12Handler extends DefaultHandler { software = null; } } else if (!skip && current.isProdNode()) { - vendor = attributes.getValue("vendor"); product = attributes.getValue("name"); } else if (!skip && current.isVersNode()) { @@ -112,15 +111,19 @@ public class NvdCve12Handler extends DefaultHandler { /*yes yes, this may not actually be an "a" - it could be an OS, etc. but for our purposes this is good enough as we won't use this if we don't find a corresponding "a" in the nvd cve 2.0. */ - String cpe = "cpe:/a:" + vendor + ":" + product; + final int cpeLen = 8 + vendor.length() + product.length() + + (null != num ? (1 + num.length()) : 0) + + (null != edition ? (1 + edition.length()) : 0); + final StringBuilder cpe = new StringBuilder(cpeLen); + cpe.append("cpe:/a:").append(vendor).append(':').append(product); if (num != null) { - cpe += ':' + num; + cpe.append(':').append(num); } if (edition != null) { - cpe += ':' + edition; + cpe.append(':').append(edition); } final VulnerableSoftware vs = new VulnerableSoftware(); - vs.setCpe(cpe); + vs.setCpe(cpe.toString()); vs.setPreviousVersion(prev); software.add(vs); } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/ProcessTask.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/ProcessTask.java index 775048cfb..ff25eb0c3 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/ProcessTask.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/ProcessTask.java @@ -85,7 +85,7 @@ public class ProcessTask implements Callable { /** * A reference to the global settings object. */ - private Settings settings; + private final Settings settings; /** * Constructs a new ProcessTask used to process an NVD CVE update. diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/UpdateableNvdCve.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/UpdateableNvdCve.java index 2b2cf22b3..5ebb08fd5 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/UpdateableNvdCve.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/nvd/UpdateableNvdCve.java @@ -32,12 +32,12 @@ import org.owasp.dependencycheck.utils.Downloader; * * @author Jeremy Long */ -public class UpdateableNvdCve implements java.lang.Iterable, Iterator { +public class UpdateableNvdCve implements Iterable, Iterator { /** * A collection of sources of data. */ - private Map collection = new TreeMap(); + private final Map collection = new TreeMap(); /** * Returns the collection of NvdCveInfo objects. This method is mainly used for testing. diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionHandler.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionHandler.java index 8f4669bbf..ddb414e6f 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionHandler.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionHandler.java @@ -65,7 +65,7 @@ public class SuppressionHandler extends DefaultHandler { /** * A list of suppression rules. */ - private List suppressionRules = new ArrayList(); + private final List suppressionRules = new ArrayList(); /** * Get the value of suppressionRules. diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionRule.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionRule.java index 26287e655..cdfa9c599 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionRule.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/suppression/SuppressionRule.java @@ -417,7 +417,7 @@ public class SuppressionRule { */ @Override public String toString() { - final StringBuilder sb = new StringBuilder(); + final StringBuilder sb = new StringBuilder(64); sb.append("SuppressionRule{"); if (filePath != null) { sb.append("filePath=").append(filePath).append(','); diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/utils/Filter.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/utils/Filter.java index 4e4287f7d..65c24616e 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/utils/Filter.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/utils/Filter.java @@ -50,7 +50,7 @@ public abstract class Filter { if (next == null) { throw new NoSuchElementException(); } - T returnValue = next; + final T returnValue = next; toNext(); return returnValue; } @@ -63,7 +63,7 @@ public abstract class Filter { private void toNext() { next = null; while (iterator.hasNext()) { - T item = iterator.next(); + final T item = iterator.next(); if (item != null && passes(item)) { next = item; break; diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/Model.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/Model.java index 93de5232e..190116acc 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/Model.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/Model.java @@ -241,7 +241,7 @@ public class Model { /** * The list of licenses. */ - private List licenses = new ArrayList(); + private final List licenses = new ArrayList(); /** * Returns the list of licenses. diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/PomHandler.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/PomHandler.java index 36e3c630a..d3f0bc701 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/PomHandler.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/pom/PomHandler.java @@ -78,7 +78,7 @@ public class PomHandler extends DefaultHandler { /** * The pom model. */ - private Model model = new Model(); + private final Model model = new Model(); /** * Returns the model obtained from the pom.xml.