Skip to content

Commit 948c2f7

Browse files
committed
C++: Add change note
1 parent 0b85f3f commit 948c2f7

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

change-notes/1.25/analysis-cpp.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Improvements to C/C++ analysis
2+
3+
The following changes in version 1.25 affect C/C++ analysis in all applications.
4+
5+
## General improvements
6+
7+
## New queries
8+
9+
| **Query** | **Tags** | **Purpose** |
10+
|-----------------------------|-----------|--------------------------------------------------------------------|
11+
12+
## Changes to existing queries
13+
14+
| **Query** | **Expected impact** | **Change** |
15+
|----------------------------|------------------------|------------------------------------------------------------------|
16+
17+
## Changes to libraries
18+
19+
* The data-flow library has been improved, which affects most security queries by potentially
20+
adding more results. Flow through functions now takes nested field reads/writes into account.
21+
For example, the library is able to track flow from `"taint"` to `sink()` via the method
22+
`getf2f1()` in
23+
```c
24+
struct C {
25+
int f1;
26+
};
27+
28+
struct C2
29+
{
30+
C f2;
31+
32+
int getf2f1() {
33+
return f2.f1; // Nested field read
34+
}
35+
36+
void m() {
37+
f2.f1 = taint();
38+
sink(getf2f1()); // NEW: "taint" reaches here
39+
}
40+
};
41+
```

0 commit comments

Comments
 (0)