You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Continue statement that does not continue (`java/continue-in-false-loop`) | correctness | Finds `continue` statements in `do { ... } while (false)` loops. |
9
+
| Continue statement that does not continue (`java/continue-in-false-loop`) | correctness | Finds `continue` statements in `do { ... } while (false)` loops. Results are shown on LGTM by default. |
| Dereferenced variable may be null (`java/dereferenced-value-may-be-null`) | Fewer false positives | Certain indirect null guards involving two auxiliary variables known to be equal can now be detected. |
16
-
| Non-synchronized override of synchronized method (`java/non-sync-override`) | Fewer false positives| Results are now only reported if the immediately overridden method is synchronized. |
17
-
| Query built from user-controlled sources (`java/sql-injection`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
18
-
| Query built from local-user-controlled sources (`java/sql-injection-local`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
19
-
| Query built without neutralizing special characters (`java/concatenated-sql-query`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as SQL expressions sinks. |
20
-
| Useless comparison test (`java/constant-comparison`) | Fewer false positives | Additional overflow check patterns are now recognized and no longer reported. Also, a few bug fixes in the range analysis for floating-point variables means a further reduction in false positives. |
15
+
| Dereferenced variable may be null (`java/dereferenced-value-may-be-null`) | Fewer false positive results | Additional indirect null guards are detected, where two auxiliary variables are known to be equal. |
16
+
| Non-synchronized override of synchronized method (`java/non-sync-override`) | Fewer false positive results| Results are now only reported if the immediately overridden method is synchronized. |
17
+
| Query built from local-user-controlled sources (`java/sql-injection-local`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as sinks for SQL expressions. |
18
+
| Query built from user-controlled sources (`java/sql-injection`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as sinks for SQL expressions. |
19
+
| Query built without neutralizing special characters (`java/concatenated-sql-query`) | More results | The query now identifies arguments to `Statement.executeLargeUpdate` and `Connection.prepareCall` as sinks for SQL expressions. |
20
+
| Useless comparison test (`java/constant-comparison`) | Fewer false positive results | Additional overflow check patterns are now recognized and no longer reported. Also, a few bug fixes in the range analysis for floating-point variables gives a further reduction in false positive results. |
21
21
22
22
## Changes to libraries
23
23
24
-
* The data-flow library has been extended with a new feature to aid debugging.
25
-
Instead of specifying `isSink(Node n) { any() }` on a configuration to
26
-
explore the possible flow from a source, it is recommended to use the new
27
-
`Configuration::hasPartialFlow` predicate, as this gives a more complete
28
-
picture of the partial flow paths from a given source. The feature is
29
-
disabled by default and can be enabled for individual configurations by
30
-
overriding `int explorationLimit()`.
24
+
The data-flow library has been extended with a new feature to aid debugging.
25
+
If you want to explore the possible flow from a source, replace
26
+
`isSink(Node n) { any() }` with the new `Configuration::hasPartialFlow` predicate.
27
+
This gives a more complete picture of the partial flow paths from a given source.
28
+
The feature is disabled by default and can be enabled for individual configurations by overriding `int explorationLimit()`.
0 commit comments