Skip to content

Commit f16dd8c

Browse files
committed
Apply code review suggestions.
1 parent f84c2a8 commit f16dd8c

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

java/ql/lib/ext/java.io.model.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@ extensions:
33
pack: codeql/java-all
44
extensible: sinkModel
55
data:
6+
- ["java.io", "File", True, "canExecute", "()", "", "Argument[this]", "path-injection", "manual"]
67
- ["java.io", "File", True, "canRead", "()", "", "Argument[this]", "path-injection", "manual"]
78
- ["java.io", "File", True, "canWrite", "()", "", "Argument[this]", "path-injection", "manual"]
89
- ["java.io", "File", True, "createNewFile", "()", "", "Argument[this]", "path-injection", "ai-manual"]
910
- ["java.io", "File", True, "createTempFile", "(String,String,File)", "", "Argument[2]", "path-injection", "ai-manual"]
1011
- ["java.io", "File", True, "delete", "()", "", "Argument[this]", "path-injection", "manual"]
1112
- ["java.io", "File", True, "deleteOnExit", "()", "", "Argument[this]", "path-injection", "manual"]
1213
- ["java.io", "File", True, "exists", "()", "", "Argument[this]", "path-injection", "manual"]
14+
- ["java.io", "File", True, "isDirectory", "()", "", "Argument[this]", "path-injection", "manual"]
15+
- ["java.io", "File", True, "isFile", "()", "", "Argument[this]", "path-injection", "manual"]
16+
- ["java.io", "File", True, "isHidden", "()", "", "Argument[this]", "path-injection", "manual"]
1317
- ["java.io", "File", True, "mkdir", "()", "", "Argument[this]", "path-injection", "manual"]
1418
- ["java.io", "File", True, "mkdirs", "()", "", "Argument[this]", "path-injection", "manual"]
1519
- ["java.io", "File", True, "renameTo", "(File)", "", "Argument[0]", "path-injection", "ai-manual"]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
category: minorAnalysis
33
---
4-
* Added more `File`-related sinks to the path injection query.
4+
* Added more `java.io.File`-related sinks to the path injection query.

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ void test() throws IOException {
3737
getClass().getResource((String) source()); // $ hasTaintFlow
3838
// "java.lang;ClassLoader;true;getSystemResourceAsStream;(String);;Argument[0];read-file;ai-generated"
3939
ClassLoader.getSystemResourceAsStream((String) source()); // $ hasTaintFlow
40+
// "java.io;File;True;canExecute;();;Argument[this];path-injection;manual"
41+
((File) source()).canExecute(); // $ hasTaintFlow
4042
// "java.io;File;True;canRead;();;Argument[this];path-injection;manual"
4143
((File) source()).canRead(); // $ hasTaintFlow
4244
// "java.io;File;True;canWrite;();;Argument[this];path-injection;manual"
@@ -51,6 +53,12 @@ void test() throws IOException {
5153
((File) source()).deleteOnExit(); // $ hasTaintFlow
5254
// "java.io;File;True;exists;();;Argument[this];path-injection;manual"
5355
((File) source()).exists(); // $ hasTaintFlow
56+
// "java.io:File;True;isDirectory;();;Argument[this];path-injection;manual"
57+
((File) source()).isDirectory(); // $ hasTaintFlow
58+
// "java.io:File;True;isFile;();;Argument[this];path-injection;manual"
59+
((File) source()).isFile(); // $ hasTaintFlow
60+
// "java.io:File;True;isHidden;();;Argument[this];path-injection;manual"
61+
((File) source()).isHidden(); // $ hasTaintFlow
5462
// "java.io;File;True;mkdir;();;Argument[this];path-injection;manual"
5563
((File) source()).mkdir(); // $ hasTaintFlow
5664
// "java.io;File;True;mkdirs;();;Argument[this];path-injection;manual"

0 commit comments

Comments
 (0)