Skip to content

Commit ecad925

Browse files
authored
Merge pull request github#2631 from hvitved/dataflow/generalize-flow-summaries
Approved by aschackmull
2 parents d3b1729 + 0e7838a commit ecad925

40 files changed

+14191
-11373
lines changed

change-notes/1.24/analysis-cpp.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ The following changes in version 1.24 affect C/C++ analysis in all applications.
2727

2828
## Changes to libraries
2929

30-
* The data-flow library has been improved when flow through functions needs to be
31-
combined with both taint tracking and flow through fields allowing more flow
32-
to be tracked. This affects and improves some security queries, which may
33-
report additional results.
30+
* The data-flow library has been improved, which affects and improves some security queries. The improvements are:
31+
- Track flow through functions that combine taint tracking with flow through fields.
32+
- Track flow through clone-like functions, that is, functions that read contents of a field from a
33+
parameter and stores the value in the field of a returned object.
3434
* Created the `semmle.code.cpp.models.interfaces.Allocation` library to model allocation such as `new` expressions and calls to `malloc`. This in intended to replace the functionality in `semmle.code.cpp.commons.Alloc` with a more consistent and useful interface.
3535
* Created the `semmle.code.cpp.models.interfaces.Deallocation` library to model deallocation such as `delete` expressions and calls to `free`. This in intended to replace the functionality in `semmle.code.cpp.commons.Alloc` with a more consistent and useful interface.
3636
* The new class `StackVariable` should be used in place of `LocalScopeVariable`

change-notes/1.24/analysis-csharp.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ The following changes in version 1.24 affect C# analysis in all applications.
3333

3434
## Changes to libraries
3535

36-
* The data-flow library has been improved when flow through methods needs to be
37-
combined with both taint tracking and flow through fields allowing more flow
38-
to be tracked. This affects and improves most security queries, which may
39-
report additional results.
36+
* The data-flow library has been improved, which affects and improves most security queries. The improvements are:
37+
- Track flow through methods that combine taint tracking with flow through fields.
38+
- Track flow through clone-like methods, that is, methods that read contents of a field from a
39+
parameter and stores the value in the field of a returned object.
4040
* The taint tracking library now tracks flow through (implicit or explicit) conversion operator calls.
4141
* [Code contracts](https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/code-contracts) are now recognized, and are treated like any other assertion methods.
4242
* Expression nullability flow state is given by the predicates `Expr.hasNotNullFlowState()` and `Expr.hasMaybeNullFlowState()`.

change-notes/1.24/analysis-java.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ The following changes in version 1.24 affect Java analysis in all applications.
2626

2727
## Changes to libraries
2828

29-
* The data-flow library has been improved when flow through methods needs to be
30-
combined with both taint tracking and flow through fields allowing more flow
31-
to be tracked. This affects and improves most security queries, which may
32-
report additional results.
29+
* The data-flow library has been improved, which affects and improves most security queries. The improvements are:
30+
- Track flow through methods that combine taint tracking with flow through fields.
31+
- Track flow through clone-like methods, that is, methods that read contents of a field from a
32+
parameter and stores the value in the field of a returned object.
3333
* Identification of test classes has been improved. Previously, one of the
3434
match conditions would classify any class with a name containing the string
3535
"Test" as a test class, but now this matching has been replaced with one that

0 commit comments

Comments
 (0)