Skip to content

Commit aed5ee4

Browse files
committed
Java: Convert thread-resource-abuse to data extensions.
1 parent 07578f1 commit aed5ee4

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/java-all
4+
extensible: extExperimentalSinkModel
5+
data:
6+
- ["java.lang", "Thread", True, "sleep", "", "", "Argument[0]", "thread-pause", "manual", "thread-resource-abuse"]
7+
- addsTo:
8+
pack: codeql/java-all
9+
extensible: extExperimentalSummaryModel
10+
data:
11+
- ["java.lang", "Math", False, "max", "", "", "Argument[0..1]", "ReturnValue", "value", "manual", "thread-resource-abuse"]
12+
- ["java.lang", "Math", False, "min", "", "", "Argument[0..1]", "ReturnValue", "value", "manual", "thread-resource-abuse"]
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-all
4+
extensible: extExperimentalSinkModel
5+
data:
6+
- ["java.util.concurrent", "TimeUnit", True, "sleep", "", "", "Argument[0]", "thread-pause", "manual", "thread-resource-abuse"]

java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qll

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,8 @@ private import semmle.code.java.dataflow.ExternalFlow
66
import semmle.code.java.dataflow.FlowSteps
77
import semmle.code.java.controlflow.Guards
88

9-
/** `java.lang.Math` data model for value comparison in the new CSV format. */
10-
private class MathCompDataModel extends SummaryModelCsv {
11-
override predicate row(string row) {
12-
row =
13-
[
14-
"java.lang;Math;false;min;;;Argument[0..1];ReturnValue;value;manual",
15-
"java.lang;Math;false;max;;;Argument[0..1];ReturnValue;value;manual"
16-
]
17-
}
18-
}
19-
20-
/** Thread pause data model in the new CSV format. */
21-
private class PauseThreadDataModel extends SinkModelCsv {
22-
override predicate row(string row) {
23-
row =
24-
[
25-
"java.lang;Thread;true;sleep;;;Argument[0];thread-pause;manual",
26-
"java.util.concurrent;TimeUnit;true;sleep;;;Argument[0];thread-pause;manual"
27-
]
28-
}
9+
private class ActivateModels extends ActiveExperimentalModels {
10+
ActivateModels() { this = "thread-resource-abuse" }
2911
}
3012

3113
/** A sink representing methods pausing a thread. */

0 commit comments

Comments
 (0)