Skip to content

Commit e0d978f

Browse files
author
Benjamin Muskalla
committed
Migrate String constructor to model
1 parent dccdc3b commit e0d978f

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

java/ql/lib/semmle/code/java/dataflow/FlowSteps.qll

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ private import semmle.code.java.dataflow.DataFlow
1010
* ensuring that they are visible to the taint tracking library.
1111
*/
1212
private module Frameworks {
13+
private import semmle.code.java.Strings
1314
private import semmle.code.java.frameworks.jackson.JacksonSerializability
1415
private import semmle.code.java.frameworks.android.Intent
1516
private import semmle.code.java.frameworks.android.SQLite
@@ -108,12 +109,6 @@ private class StringTaintPreservingMethod extends TaintPreservingCallable {
108109
}
109110
}
110111

111-
private class StringTaintPreservingConstructor extends Constructor, TaintPreservingCallable {
112-
StringTaintPreservingConstructor() { this.getDeclaringType() instanceof TypeString }
113-
114-
override predicate returnsTaintFrom(int arg) { arg = 0 }
115-
}
116-
117112
private class NumberTaintPreservingCallable extends TaintPreservingCallable {
118113
int argument;
119114

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/** Definitions of taint steps in String and String-related classes of the JDK */
2+
3+
import java
4+
private import semmle.code.java.dataflow.ExternalFlow
5+
6+
private class StringSummaryCsv extends SummaryModelCsv {
7+
override predicate row(string row) {
8+
row =
9+
[
10+
//`namespace; type; subtypes; name; signature; ext; input; output; kind`
11+
"java.lang;String;false;String;;;Argument[0];Argument[-1];taint"
12+
]
13+
}
14+
}

0 commit comments

Comments
 (0)