Skip to content

Commit 8065714

Browse files
atorralbaStephan Brandauer
authored andcommitted
Add tests
1 parent eef3dc8 commit 8065714

File tree

14 files changed

+208
-34
lines changed

14 files changed

+208
-34
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package generatedtest;
2+
3+
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
4+
5+
// Test case generated by GenerateFlowTestCase.ql
6+
public class Test {
7+
8+
Object source() {
9+
return null;
10+
}
11+
12+
void sink(Object o) {}
13+
14+
public void test() throws Exception {
15+
{
16+
// "org.apache.commons.compress.archivers.tar;TarArchiveEntry;true;TarArchiveEntry;(String);;Argument[0];Argument[-1];taint;ai-generated"
17+
TarArchiveEntry out = null;
18+
String in = (String) source();
19+
out = new TarArchiveEntry(in);
20+
sink(out); // $ hasTaintFlow
21+
}
22+
{
23+
// "org.apache.commons.compress.archivers.tar;TarArchiveEntry;true;TarArchiveEntry;(String,boolean);;Argument[0];Argument[-1];taint;ai-generated"
24+
TarArchiveEntry out = null;
25+
String in = (String) source();
26+
out = new TarArchiveEntry(in, false);
27+
sink(out); // $ hasTaintFlow
28+
}
29+
30+
}
31+
32+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/apache-commons-compress

java/ql/test/library-tests/frameworks/apache-commons-compress/test.expected

Whitespace-only changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import java
2+
import TestUtilities.InlineFlowTest
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package generatedtest;
2+
3+
import java.net.URI;
4+
import java.util.List;
5+
import org.apache.http.client.utils.URIBuilder;
6+
import org.apache.http.client.utils.URLEncodedUtils;
7+
8+
// Test case generated by GenerateFlowTestCase.ql
9+
public class Test {
10+
11+
<T> T getElement(Iterable<T> it) { return it.iterator().next(); }
12+
Object getURIBuilder_pathDefault(Object container) { return null; }
13+
Object source() { return null; }
14+
void sink(Object o) { }
15+
16+
public void test() throws Exception {
17+
18+
{
19+
// "org.apache.http.client.utils;URIBuilder;true;URIBuilder;(String);;Argument[0];Argument[-1];taint;ai-generated"
20+
URIBuilder out = null;
21+
String in = (String)source();
22+
out = new URIBuilder(in);
23+
sink(out); // $ hasTaintFlow
24+
}
25+
{
26+
// "org.apache.http.client.utils;URIBuilder;true;URIBuilder;(URI);;Argument[0];Argument[-1];taint;ai-generated"
27+
URIBuilder out = null;
28+
URI in = (URI)source();
29+
out = new URIBuilder(in);
30+
sink(out); // $ hasTaintFlow
31+
}
32+
{
33+
// "org.apache.http.client.utils;URIBuilder;true;setHost;(String);;Argument[0];Argument[-1];taint;ai-generated"
34+
URIBuilder out = null;
35+
String in = (String)source();
36+
out.setHost(in);
37+
sink(out); // $ hasTaintFlow
38+
}
39+
{
40+
// "org.apache.http.client.utils;URIBuilder;true;setHost;(String);;Argument[0];ReturnValue;taint;ai-generated"
41+
URIBuilder out = null;
42+
String in = (String)source();
43+
URIBuilder instance = null;
44+
out = instance.setHost(in);
45+
sink(out); // $ hasTaintFlow
46+
}
47+
{
48+
// "org.apache.http.client.utils;URIBuilder;true;setPath;(String);;Argument[0];Argument[-1].SyntheticField[org.apache.http.client.utils.URIBuilder.path];taint;ai-generated"
49+
URIBuilder out = null;
50+
String in = (String)source();
51+
out.setPath(in);
52+
sink(getURIBuilder_pathDefault(out)); // $ hasTaintFlow
53+
}
54+
{
55+
// "org.apache.http.client.utils;URIBuilder;true;setPathSegments;(List);;Argument[0];Argument[-1].SyntheticField[org.apache.http.client.utils.URIBuilder.path];taint;ai-generated"
56+
URIBuilder out = null;
57+
List in = (List)source();
58+
out.setPathSegments(in);
59+
sink(getURIBuilder_pathDefault(out)); // $ hasTaintFlow
60+
}
61+
{
62+
// "org.apache.http.client.utils;URLEncodedUtils;true;parse;(URI,String);;Argument[0];ReturnValue.Element;taint;ai-generated"
63+
List out = null;
64+
URI in = (URI)source();
65+
out = URLEncodedUtils.parse(in, (String)null);
66+
sink(getElement(out)); // $ hasTaintFlow
67+
}
68+
69+
}
70+
71+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/apache-http-4.4.13

java/ql/test/library-tests/frameworks/apache-http/client/test.expected

Whitespace-only changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/java-tests
4+
extensible: summaryModel
5+
data:
6+
- ["generatedtest", "Test", False, "getURIBuilder_pathDefault", "(Object)", "", "Argument[0].SyntheticField[org.apache.http.client.utils.URIBuilder.path]", "ReturnValue", "value", "manual"]
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import java
2+
import TestUtilities.InlineFlowTest

java/ql/test/query-tests/security/CWE-022/semmle/tests/Test.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,4 @@ void doGet5(InetAddress address)
101101
new File(new URI(null, null, null, 0, t, null, null));
102102
}
103103

104-
void doGet6(InetAddress address) throws IOException {
105-
String t = address.getHostName();
106-
// BAD: accessing local resource with user input
107-
getClass().getModule().getResourceAsStream(t);
108-
}
109104
}

0 commit comments

Comments
 (0)