From 7e639db5de6ab0915c39cc35e46e0a0a516e6e4e Mon Sep 17 00:00:00 2001 From: Anthony Whitford Date: Wed, 14 Oct 2015 00:16:20 -0700 Subject: [PATCH] Leveraging FilenameUtils rather than string dissection. --- .../owasp/dependencycheck/analyzer/FileNameAnalyzer.java | 9 ++------- .../org/owasp/dependencycheck/analyzer/JarAnalyzer.java | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.java index 645afce07..d21f7b503 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.java @@ -18,6 +18,7 @@ package org.owasp.dependencycheck.analyzer; import java.io.File; +import org.apache.commons.io.FilenameUtils; import org.owasp.dependencycheck.Engine; import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.dependency.Confidence; @@ -76,13 +77,7 @@ public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer { //strip any path information that may get added by ArchiveAnalyzer, etc. final File f = dependency.getActualFile(); - String fileName = f.getName(); - - //remove file extension - final int pos = fileName.lastIndexOf("."); - if (pos > 0) { - fileName = fileName.substring(0, pos); - } + final String fileName = FilenameUtils.removeExtension(f.getName()); //add version evidence final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName); 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 7f806ba0a..92cce15c7 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 @@ -42,6 +42,7 @@ import java.util.jar.Manifest; import java.util.regex.Pattern; import java.util.zip.ZipEntry; import org.apache.commons.compress.utils.IOUtils; +import org.apache.commons.io.FilenameUtils; import org.jsoup.Jsoup; import org.owasp.dependencycheck.Engine; import org.owasp.dependencycheck.analyzer.exception.AnalysisException; @@ -269,8 +270,7 @@ public class JarAnalyzer extends AbstractFileTypeAnalyzer { } File externalPom = null; if (pomEntries.isEmpty()) { - String pomPath = dependency.getActualFilePath(); - pomPath = pomPath.substring(0, pomPath.lastIndexOf('.')) + ".pom"; + final String pomPath = FilenameUtils.removeExtension(dependency.getActualFilePath()) + ".pom"; externalPom = new File(pomPath); if (externalPom.isFile()) { pomEntries.add(pomPath);