diff --git a/core/src/main/java/org/owasp/dependencycheck/xml/pom/PomProjectInputStream.java b/core/src/main/java/org/owasp/dependencycheck/xml/pom/PomProjectInputStream.java index c2772bf23ca..3f9d4468e3b 100644 --- a/core/src/main/java/org/owasp/dependencycheck/xml/pom/PomProjectInputStream.java +++ b/core/src/main/java/org/owasp/dependencycheck/xml/pom/PomProjectInputStream.java @@ -64,22 +64,17 @@ private void skipToProject() throws IOException { final byte[] buffer = new byte[BUFFER_SIZE]; super.mark(BUFFER_SIZE); int count = super.read(buffer, 0, BUFFER_SIZE); - int adjustment = 0; while (count > 0) { final int pos = findSequence(PROJECT, buffer); if (pos >= 0) { super.reset(); - super.skip(pos - adjustment); + super.skip(pos); return; } super.reset(); - super.skip(PROJECT.length); + super.skip(count - PROJECT.length); super.mark(BUFFER_SIZE); - for (int i = 0; i < PROJECT.length; i++) { - buffer[i] = buffer[BUFFER_SIZE - PROJECT.length + i]; - } - adjustment = PROJECT.length; - count = super.read(buffer, PROJECT.length, BUFFER_SIZE - PROJECT.length); + count = super.read(buffer, 0, BUFFER_SIZE); } } diff --git a/core/src/test/java/org/owasp/dependencycheck/xml/pom/PomParserTest.java b/core/src/test/java/org/owasp/dependencycheck/xml/pom/PomParserTest.java index 02437f1128f..2a5b51a788f 100644 --- a/core/src/test/java/org/owasp/dependencycheck/xml/pom/PomParserTest.java +++ b/core/src/test/java/org/owasp/dependencycheck/xml/pom/PomParserTest.java @@ -36,11 +36,11 @@ public class PomParserTest { */ @Test public void testParse_File() throws Exception { - File file = BaseTest.getResourceAsFile(this, "pom/plexus-utils-3.0.24.pom"); + File file = BaseTest.getResourceAsFile(this, "pom/mailapi-1.4.3.pom"); PomParser instance = new PomParser(); - String expVersion = "3.0.24"; + String expVersion = "1.4.3"; Model result = instance.parse(file); - assertEquals("Invalid version extracted", expVersion, result.getVersion()); + assertEquals("Invalid version extracted", expVersion, result.getParentVersion()); } /** diff --git a/core/src/test/resources/pom/mailapi-1.4.3.pom b/core/src/test/resources/pom/mailapi-1.4.3.pom new file mode 100644 index 00000000000..fee7186c027 --- /dev/null +++ b/core/src/test/resources/pom/mailapi-1.4.3.pom @@ -0,0 +1,110 @@ + + + + + + com.sun.mail + all + 1.4.3 + + 4.0.0 + javax.mail + mailapi + jar + JavaMail API jar + + + + javax.mail.*; version=${mail.spec.version}, + com.sun.mail.util; version=${mail.version}, + com.sun.mail.util.logging; version=${mail.version}, + com.sun.mail.handlers; version=${mail.version} + + + + + + + maven-dependency-plugin + + + unpack + process-sources + + unpack + + + + + + + javax.mail + mail + ${mail.version} + + + + ${project.build.outputDirectory} + + + javax/**, + com/sun/mail/util/**, + com/sun/mail/handlers/**, + META-INF/* + + + META-INF/javamail.default.* + + + + + maven-jar-plugin + + ${project.artifactId} + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + +