Skip to content

Commit ddd62a5

Browse files
committed
C#: Add change note for #3110
1 parent 3b3ca6d commit ddd62a5

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

change-notes/1.25/analysis-csharp.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,28 @@ The following changes in version 1.25 affect C# analysis in all applications.
2424
have type parameters. This means that non-generic nested types inside construced types,
2525
such as `A<int>.B`, no longer are considered unbound generics. (Such nested types do,
2626
however, still have relevant `.getSourceDeclaration()`s, for example `A<>.B`.)
27+
* The data-flow library has been improved, which affects and improves most security queries. Flow
28+
through methods now takes nested field reads/writes into account. For example, the library is
29+
able to track flow from `"taint"` to `Sink()` via the method `GetF2F1()` in
30+
```csharp
31+
class C1
32+
{
33+
string F1;
34+
}
35+
36+
class C2
37+
{
38+
C1 F2;
39+
40+
41+
string GetF2F1() => this.F2.F1; // Nested field read
42+
43+
void M()
44+
{
45+
this.F2 = new C1() { F1 = "taint" };
46+
Sink(this.GetF2F1()); // NEW: "taint" reaches here
47+
}
48+
}
49+
```
2750

2851
## Changes to autobuilder

0 commit comments

Comments
 (0)