Java: Convert thread-resource-abuse to data extensions.

This commit is contained in:
Michael Nebel
2022-11-22 10:09:54 +01:00
parent 07578f11d4
commit aed5ee4edc
3 changed files with 20 additions and 20 deletions

View File

@@ -0,0 +1,12 @@
extensions:
- addsTo:
pack: codeql/java-all
extensible: extExperimentalSinkModel
data:
- ["java.lang", "Thread", True, "sleep", "", "", "Argument[0]", "thread-pause", "manual", "thread-resource-abuse"]
- addsTo:
pack: codeql/java-all
extensible: extExperimentalSummaryModel
data:
- ["java.lang", "Math", False, "max", "", "", "Argument[0..1]", "ReturnValue", "value", "manual", "thread-resource-abuse"]
- ["java.lang", "Math", False, "min", "", "", "Argument[0..1]", "ReturnValue", "value", "manual", "thread-resource-abuse"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/java-all
extensible: extExperimentalSinkModel
data:
- ["java.util.concurrent", "TimeUnit", True, "sleep", "", "", "Argument[0]", "thread-pause", "manual", "thread-resource-abuse"]

View File

@@ -6,26 +6,8 @@ private import semmle.code.java.dataflow.ExternalFlow
import semmle.code.java.dataflow.FlowSteps
import semmle.code.java.controlflow.Guards
/** `java.lang.Math` data model for value comparison in the new CSV format. */
private class MathCompDataModel extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"java.lang;Math;false;min;;;Argument[0..1];ReturnValue;value;manual",
"java.lang;Math;false;max;;;Argument[0..1];ReturnValue;value;manual"
]
}
}
/** Thread pause data model in the new CSV format. */
private class PauseThreadDataModel extends SinkModelCsv {
override predicate row(string row) {
row =
[
"java.lang;Thread;true;sleep;;;Argument[0];thread-pause;manual",
"java.util.concurrent;TimeUnit;true;sleep;;;Argument[0];thread-pause;manual"
]
}
private class ActivateModels extends ActiveExperimentalModels {
ActivateModels() { this = "thread-resource-abuse" }
}
/** A sink representing methods pausing a thread. */