mirror of
https://github.com/github/codeql.git
synced 2026-04-22 15:25:18 +02:00
Java: Fix qltests.
This commit is contained in:
@@ -307,6 +307,7 @@ class TopJdkApi extends SummarizedCallableBase {
|
||||
predicate hasManualMadModel() { this.hasManualSummary() or this.hasManualNeutral() }
|
||||
/*
|
||||
* Note: the following top JDK APIs are not modeled with MaD:
|
||||
* `java.lang.Runnable#run()`: specialised lambda flow
|
||||
* `java.lang.String#valueOf(Object)`: a complex case; an alias for `Object.toString`, except the dispatch is hidden
|
||||
* `java.lang.System#getProperty(String)`: needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
|
||||
* `java.lang.System#setProperty(String,String)`: needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
| java.lang.Runnable#run() | no manual model |
|
||||
| java.lang.String#valueOf(Object) | no manual model |
|
||||
| java.lang.System#getProperty(String) | no manual model |
|
||||
| java.lang.System#setProperty(String,String) | no manual model |
|
||||
|
||||
@@ -107,13 +107,13 @@ class IntegrationTest {
|
||||
filterAndMerge_2(pojoForm, mergedParams, name -> false);
|
||||
return mergedParams;
|
||||
}).then(pojoMap -> {
|
||||
sink(pojoMap.keySet().iterator().next()); //TODO:$hasTaintFlow
|
||||
sink(pojoMap.get("value")); //TODO:$hasTaintFlow
|
||||
sink(pojoMap.keySet().iterator().next()); //$hasTaintFlow
|
||||
sink(pojoMap.get("value")); //$hasTaintFlow
|
||||
pojoMap.forEach((key, value) -> {
|
||||
sink(key); //TODO:$hasTaintFlow
|
||||
sink(value); //TODO:$hasTaintFlow
|
||||
sink(key); //$hasTaintFlow
|
||||
sink(value); //$hasTaintFlow
|
||||
List<Object> values = (List<Object>) value;
|
||||
sink(values.get(0)); //TODO:$hasTaintFlow
|
||||
sink(values.get(0)); //$hasTaintFlow
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -361,13 +361,13 @@ class Resource {
|
||||
Promise
|
||||
.value(tainted)
|
||||
.nextOp(value -> Operation.of(() -> {
|
||||
sink(value); //$hasTaintFlow
|
||||
sink(value); // MISSING: $hasTaintFlow
|
||||
}))
|
||||
.nextOpIf(value -> {
|
||||
sink(value); //$hasTaintFlow
|
||||
return true;
|
||||
}, value -> Operation.of(() -> {
|
||||
sink(value); //$hasTaintFlow
|
||||
sink(value); // MISSING: $hasTaintFlow
|
||||
}))
|
||||
.then(value -> {
|
||||
sink(value); //$hasTaintFlow
|
||||
@@ -379,7 +379,7 @@ class Resource {
|
||||
Promise
|
||||
.value(tainted)
|
||||
.flatOp(value -> Operation.of(() -> {
|
||||
sink(value); //$hasTaintFlow
|
||||
sink(value); // MISSING: $hasTaintFlow
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user