mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-14 07:43:40 +01:00
Use Apache StringUtils.split(String, char) instead of String.split(String)
String.split() uses a regex pattern for splitting. As we simply need to split on a single fixed char using the Apache StringUtils is preferable.
This commit is contained in:
@@ -43,6 +43,7 @@ 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.apache.commons.lang3.StringUtils;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.owasp.dependencycheck.Engine;
|
||||
import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
|
||||
@@ -1145,7 +1146,7 @@ public class JarAnalyzer extends AbstractFileTypeAnalyzer {
|
||||
ClassNameInformation(String className) {
|
||||
name = className;
|
||||
if (name.contains("/")) {
|
||||
final String[] tmp = className.toLowerCase().split("/");
|
||||
final String[] tmp = StringUtils.split(className.toLowerCase(), '/');
|
||||
int start = 0;
|
||||
int end = 3;
|
||||
if ("com".equals(tmp[0]) || "org".equals(tmp[0])) {
|
||||
|
||||
@@ -20,6 +20,7 @@ package org.owasp.dependencycheck.data.cpe;
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* A CPE entry containing the name, vendor, product, and version.
|
||||
@@ -143,7 +144,8 @@ public class IndexEntry implements Serializable {
|
||||
*/
|
||||
public void parseName(String cpeName) throws UnsupportedEncodingException {
|
||||
if (cpeName != null && cpeName.length() > 7) {
|
||||
final String[] data = cpeName.substring(7).split(":");
|
||||
final String cpeNameWithoutPrefix = cpeName.substring(7);
|
||||
final String[] data = StringUtils.split(cpeNameWithoutPrefix, ':');
|
||||
if (data.length >= 1) {
|
||||
vendor = URLDecoder.decode(data[0].replace("+", "%2B"), "UTF-8");
|
||||
if (data.length >= 2) {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.owasp.dependencycheck.data.update.cpe;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import org.owasp.dependencycheck.data.update.exception.InvalidDataException;
|
||||
@@ -36,7 +37,8 @@ public class Cpe {
|
||||
*/
|
||||
public Cpe(String value) throws UnsupportedEncodingException, InvalidDataException {
|
||||
this.value = value;
|
||||
final String[] data = value.substring(7).split(":");
|
||||
final String valueWithoutPrefix = value.substring(7);
|
||||
final String[] data = StringUtils.split(valueWithoutPrefix, ':');
|
||||
if (data.length >= 2) {
|
||||
vendor = URLDecoder.decode(data[0].replace("+", "%2B"), "UTF-8");
|
||||
product = URLDecoder.decode(data[1].replace("+", "%2B"), "UTF-8");
|
||||
|
||||
@@ -20,6 +20,7 @@ package org.owasp.dependencycheck.dependency;
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.owasp.dependencycheck.data.cpe.IndexEntry;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -73,7 +74,8 @@ public class VulnerableSoftware extends IndexEntry implements Serializable, Comp
|
||||
public void parseName(String cpeName) throws UnsupportedEncodingException {
|
||||
this.name = cpeName;
|
||||
if (cpeName != null && cpeName.length() > 7) {
|
||||
final String[] data = cpeName.substring(7).split(":");
|
||||
final String cpeNameWithoutPrefix = cpeName.substring(7);
|
||||
final String[] data = StringUtils.split(cpeNameWithoutPrefix, ':');
|
||||
if (data.length >= 1) {
|
||||
this.setVendor(urlDecode(data[0]));
|
||||
}
|
||||
@@ -172,8 +174,8 @@ public class VulnerableSoftware extends IndexEntry implements Serializable, Comp
|
||||
@Override
|
||||
public int compareTo(VulnerableSoftware vs) {
|
||||
int result = 0;
|
||||
final String[] left = this.name.split(":");
|
||||
final String[] right = vs.getName().split(":");
|
||||
final String[] left = StringUtils.split(this.name, ':');
|
||||
final String[] right = StringUtils.split(vs.getName(), ':');
|
||||
final int max = (left.length <= right.length) ? left.length : right.length;
|
||||
if (max > 0) {
|
||||
for (int i = 0; result == 0 && i < max; i++) {
|
||||
|
||||
Reference in New Issue
Block a user