Skip to content

Commit

Permalink
Merge pull request #673 from CROSSINGTUD/fix/issue-271
Browse files Browse the repository at this point in the history
Add test case from #271
  • Loading branch information
schlichtig committed Jul 22, 2024
2 parents 67b71cf + e88ecf5 commit 109deae
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 0 deletions.
17 changes: 17 additions & 0 deletions CryptoAnalysis/src/test/java/tests/headless/ReportedIssueTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,21 @@ public void reportedIssues() {
scanner.run();
assertErrors(scanner.getErrorCollection());
}

@Test
public void issue271Test() {
// Related to https://github.com/CROSSINGTUD/CryptoAnalysis/issues/271
String mavenProjectPath = new File("../CryptoAnalysisTargets/KotlinExamples/Issue271").getAbsolutePath();
MavenProject mavenProject = createAndCompile(mavenProjectPath);
HeadlessCryptoScanner scanner = createScanner(mavenProject);

setErrorsCount("<example.Issue271Java: void testFail(java.lang.String)>", IncompleteOperationError.class, 0);
setErrorsCount("<example.Issue271Java: void testOk(java.lang.String)>", IncompleteOperationError.class, 0);

setErrorsCount("<example.Issue271Kotlin: void testFail(java.lang.String)>", IncompleteOperationError.class, 0);
setErrorsCount("<example.Issue271Kotlin: void testOk(java.lang.String)>", IncompleteOperationError.class, 0);

scanner.run();
assertErrors(scanner.getErrorCollection());
}
}
56 changes: 56 additions & 0 deletions CryptoAnalysisTargets/KotlinExamples/Issue271/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>example</groupId>
<artifactId>Issue271</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>issue271</name>

<properties>
<kotlin.version>2.0.0</kotlin.version>
</properties>

<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package example;

import java.security.MessageDigest

fun main() {
testFail("abc123ABC")
testOk("abc123ABC")
}

fun testFail(input: String) {
val someManipulation = input.substring(0, 2)
MessageDigest.getInstance("SHA-256").digest(someManipulation.toByteArray())
}

fun testOk(input: String) {
MessageDigest.getInstance("SHA-256").digest(input.toByteArray())
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package example;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Issue271Java {

public static void main(String [] args) throws NoSuchAlgorithmException {
testFail("abc123ABC");
testOk("abc123ABC");
}

public static void testFail(String input) throws NoSuchAlgorithmException {
String someManipulation = input.substring(0, 2);
MessageDigest.getInstance("SHA-256").digest(someManipulation.getBytes());
}

public static void testOk(String input) throws NoSuchAlgorithmException {
MessageDigest.getInstance("SHA-256").digest(input.getBytes());
}
}

0 comments on commit 109deae

Please sign in to comment.