@@ -38,10 +38,21 @@ The following changes in version 1.24 affect C/C++ analysis in all applications.
38
38
* The built-in C++20 "spaceship operator" (` <=> ` ) is now supported via the QL
39
39
class ` SpaceshipExpr ` . Overloaded forms are modeled as calls to functions
40
40
named ` operator<=> ` .
41
- * The data-flow library has been improved, which affects and improves some security queries. The improvements are:
41
+ * The data-flow library (` semmle.code.cpp.dataflow.DataFlow ` and
42
+ ` semmle.code.cpp.dataflow.TaintTracking ` ) has been improved, which affects
43
+ and improves some security queries. The improvements are:
42
44
- Track flow through functions that combine taint tracking with flow through fields.
43
45
- Track flow through clone-like functions, that is, functions that read contents of a field from a
44
46
parameter and stores the value in the field of a returned object.
47
+ * The security pack taint tracking library
48
+ (` semmle.code.cpp.security.TaintTracking ` ) uses a new intermediate
49
+ representation. This provides a more precise analysis of flow through
50
+ parameters and pointers. For new queries, however, we continue to recommend
51
+ using ` semmle.code.cpp.dataflow.TaintTracking ` .
52
+ * The global value numbering library
53
+ (` semmle.code.cpp.valuenumbering.GlobalValueNumbering ` ) uses a new
54
+ intermediate representation to provide a more precise analysis of
55
+ heap-allocated memory and pointers to stack variables.
45
56
* Created the ` semmle.code.cpp.models.interfaces.Allocation ` library to model
46
57
allocation such as ` new ` expressions and calls to ` malloc ` . This in intended
47
58
to replace the functionality in ` semmle.code.cpp.commons.Alloc ` with a more
0 commit comments