Skip to content

Commit 0c7ffb0

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Java: update System.getProperty model
1 parent 2a99af0 commit 0c7ffb0

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,10 @@ extensions:
103103
- ["java.lang", "StringBuffer", True, "StringBuffer", "(String)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
104104
- ["java.lang", "StringBuilder", True, "StringBuilder", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
105105
- ["java.lang", "System", False, "arraycopy", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
106-
- ["java.lang", "System", False, "getProperty", "(String)", "", "Argument[-1].MapValue", "ReturnValue", "value", "manual"]
106+
- ["java.lang", "System", False, "getProperty", "(String)", "", "SyntheticGlobal[java.lang.System.properties].MapValue", "ReturnValue", "value", "manual"]
107+
- ["java.lang", "System", False, "setProperty", "(String,String)", "", "SyntheticGlobal[java.lang.System.properties].MapValue", "ReturnValue", "value", "manual"]
108+
- ["java.lang", "System", False, "setProperty", "(String,String)", "", "Argument[0]", "SyntheticGlobal[java.lang.System.properties].MapKey", "value", "manual"]
109+
- ["java.lang", "System", False, "setProperty", "(String,String)", "", "Argument[1]", "SyntheticGlobal[java.lang.System.properties].MapValue", "value", "manual"]
107110
- ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0]", "Argument[-1].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
108111
- ["java.lang", "Throwable", True, "getCause", "()", "", "Argument[-1].SyntheticField[java.lang.Throwable.cause]", "ReturnValue", "value", "manual"]
109112
- ["java.lang", "Throwable", True, "getMessage", "()", "", "Argument[-1].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"]

java/ql/test/ext/TestModels/Test.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ public void test() throws Exception {
9797
long l3 = (long)source();
9898
sink(String.valueOf(l3)); // $hasTaintFlow
9999

100+
System.setProperty("testKey", (String)source());
101+
sink(System.getProperty("testKey")); // $hasValueFlow
102+
100103
// java.math
101104
long l4 = (long)source();
102105
sink(BigDecimal.valueOf(l4)); // $hasTaintFlow

0 commit comments

Comments
 (0)