Skip to content

Commit afd8980

Browse files
Merge branch 'main' into main
2 parents 8b4826c + 834511b commit afd8980

File tree

172 files changed

+1464
-507
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+1464
-507
lines changed

cpp/ql/lib/CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
## 0.6.0
2+
3+
### Breaking Changes
4+
5+
* The `semmle.code.cpp.commons.Buffer` and `semmle.code.cpp.commons.NullTermination` libraries no longer expose `semmle.code.cpp.dataflow.DataFlow`. Please import `semmle.code.cpp.dataflow.DataFlow` directly.
6+
7+
### Deprecated APIs
8+
9+
* The `WriteConfig` taint tracking configuration has been deprecated. Please use `WriteFlow`.
10+
11+
### New Features
12+
13+
* Added support for merging two `PathGraph`s via disjoint union to allow results from multiple data flow computations in a single `path-problem` query.
14+
15+
### Major Analysis Improvements
16+
17+
* A new C/C++ dataflow library (`semmle.code.cpp.dataflow.new.DataFlow`) has been added.
18+
The new library behaves much more like the dataflow library of other CodeQL supported
19+
languages by following use-use dataflow paths instead of def-use dataflow paths.
20+
The new library also better supports dataflow through indirections, and new predicates
21+
such as `Node::asIndirectExpr` have been added to facilitate working with indirections.
22+
23+
The `semmle.code.cpp.ir.dataflow.DataFlow` library is now identical to the new
24+
`semmle.code.cpp.dataflow.new.DataFlow` library.
25+
* The main data flow and taint tracking APIs have been changed. The old APIs
26+
remain in place for now and translate to the new through a
27+
backwards-compatible wrapper. If multiple configurations are in scope
28+
simultaneously, then this may affect results slightly. The new API is quite
29+
similar to the old, but makes use of a configuration module instead of a
30+
configuration class.
31+
32+
### Minor Analysis Improvements
33+
34+
* Deleted the deprecated `hasGeneratedCopyConstructor` and `hasGeneratedCopyAssignmentOperator` predicates from the `Folder` class.
35+
* Deleted the deprecated `getPath` and `getFolder` predicates from the `XmlFile` class.
36+
* Deleted the deprecated `getMustlockFunction`, `getTrylockFunction`, `getLockFunction`, and `getUnlockFunction` predicates from the `MutexType` class.
37+
* Deleted the deprecated `getPosInBasicBlock` predicate from the `SubBasicBlock` class.
38+
* Deleted the deprecated `getExpr` predicate from the `PointerDereferenceExpr` class.
39+
* Deleted the deprecated `getUseInstruction` and `getDefinitionInstruction` predicates from the `Operand` class.
40+
* Deleted the deprecated `isInParameter`, `isInParameterPointer`, and `isInQualifier` predicates from the `FunctionInput` class.
41+
* Deleted the deprecated `isOutParameterPointer`, `isOutQualifier`, `isOutReturnValue`, and `isOutReturnPointer` predicate from the `FunctionOutput` class.
42+
* Deleted the deprecated 3-argument `isGuardPhi` predicate from the `RangeSsaDefinition` class.
43+
144
## 0.5.4
245

346
No user-facing changes.

cpp/ql/lib/change-notes/2023-02-10-buffer-and-nill-termination-dataflow.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-02-dataflow-conf-module.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-03-delete-deps.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-08-deprecated-dataflow-configurations.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-13-mergepathgraph.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-16-use-use-flow.md

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* The `BufferAccess` library (`semmle.code.cpp.security.BufferAccess`) no longer matches buffer accesses inside unevaluated contexts (such as inside `sizeof` or `decltype` expressions). As a result, queries using this library may see fewer false positives.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
## 0.6.0
2+
3+
### Breaking Changes
4+
5+
* The `semmle.code.cpp.commons.Buffer` and `semmle.code.cpp.commons.NullTermination` libraries no longer expose `semmle.code.cpp.dataflow.DataFlow`. Please import `semmle.code.cpp.dataflow.DataFlow` directly.
6+
7+
### Deprecated APIs
8+
9+
* The `WriteConfig` taint tracking configuration has been deprecated. Please use `WriteFlow`.
10+
11+
### New Features
12+
13+
* Added support for merging two `PathGraph`s via disjoint union to allow results from multiple data flow computations in a single `path-problem` query.
14+
15+
### Major Analysis Improvements
16+
17+
* A new C/C++ dataflow library (`semmle.code.cpp.dataflow.new.DataFlow`) has been added.
18+
The new library behaves much more like the dataflow library of other CodeQL supported
19+
languages by following use-use dataflow paths instead of def-use dataflow paths.
20+
The new library also better supports dataflow through indirections, and new predicates
21+
such as `Node::asIndirectExpr` have been added to facilitate working with indirections.
22+
23+
The `semmle.code.cpp.ir.dataflow.DataFlow` library is now identical to the new
24+
`semmle.code.cpp.dataflow.new.DataFlow` library.
25+
* The main data flow and taint tracking APIs have been changed. The old APIs
26+
remain in place for now and translate to the new through a
27+
backwards-compatible wrapper. If multiple configurations are in scope
28+
simultaneously, then this may affect results slightly. The new API is quite
29+
similar to the old, but makes use of a configuration module instead of a
30+
configuration class.
31+
32+
### Minor Analysis Improvements
33+
34+
* Deleted the deprecated `hasGeneratedCopyConstructor` and `hasGeneratedCopyAssignmentOperator` predicates from the `Folder` class.
35+
* Deleted the deprecated `getPath` and `getFolder` predicates from the `XmlFile` class.
36+
* Deleted the deprecated `getMustlockFunction`, `getTrylockFunction`, `getLockFunction`, and `getUnlockFunction` predicates from the `MutexType` class.
37+
* Deleted the deprecated `getPosInBasicBlock` predicate from the `SubBasicBlock` class.
38+
* Deleted the deprecated `getExpr` predicate from the `PointerDereferenceExpr` class.
39+
* Deleted the deprecated `getUseInstruction` and `getDefinitionInstruction` predicates from the `Operand` class.
40+
* Deleted the deprecated `isInParameter`, `isInParameterPointer`, and `isInQualifier` predicates from the `FunctionInput` class.
41+
* Deleted the deprecated `isOutParameterPointer`, `isOutQualifier`, `isOutReturnValue`, and `isOutReturnPointer` predicate from the `FunctionOutput` class.
42+
* Deleted the deprecated 3-argument `isGuardPhi` predicate from the `RangeSsaDefinition` class.

cpp/ql/lib/codeql-pack.release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
lastReleaseVersion: 0.5.4
2+
lastReleaseVersion: 0.6.0

0 commit comments

Comments
 (0)