From f8e3dbe6e2926762cc20df1d89fd3cff9e8b9c93 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Aug 2025 13:45:53 +0200 Subject: [PATCH 1/4] C#: Consider Byte and Char arrays and pointers to be bulk data types in terms of MaD. --- csharp/ql/lib/ext/System.IO.model.yml | 70 ++++++++++----------- csharp/ql/lib/ext/System.Text.model.yml | 32 +++++----- csharp/ql/lib/ext/System.Xml.model.yml | 10 +-- csharp/ql/lib/ext/System.model.yml | 82 ++++++++++++------------- 4 files changed, 97 insertions(+), 97 deletions(-) diff --git a/csharp/ql/lib/ext/System.IO.model.yml b/csharp/ql/lib/ext/System.IO.model.yml index 0b8b52d9e8a5..95b62e538994 100644 --- a/csharp/ql/lib/ext/System.IO.model.yml +++ b/csharp/ql/lib/ext/System.IO.model.yml @@ -47,11 +47,11 @@ extensions: - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[])", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Boolean)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32,System.Boolean)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[])", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "MemoryStream", False, "ToArray", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "Combine", "(System.String,System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "Combine", "(System.String,System.String)", "", "Argument[1]", "ReturnValue", "taint", "manual"] @@ -64,42 +64,42 @@ extensions: - ["System.IO", "Path", False, "Combine", "(System.String,System.String,System.String,System.String)", "", "Argument[3]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "Combine", "(System.String[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "Combine", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.IO", "Path", False, "GetDirectoryName", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.IO", "Path", False, "GetDirectoryName", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetDirectoryName", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.IO", "Path", False, "GetExtension", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.IO", "Path", False, "GetExtension", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetExtension", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.IO", "Path", False, "GetFileName", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.IO", "Path", False, "GetFileName", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetFileName", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.IO", "Path", False, "GetFileNameWithoutExtension", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.IO", "Path", False, "GetFileNameWithoutExtension", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetFileNameWithoutExtension", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetFullPath", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetFullPath", "(System.String,System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.IO", "Path", False, "GetPathRoot", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.IO", "Path", False, "GetPathRoot", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetPathRoot", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.IO", "Path", False, "GetRelativePath", "(System.String,System.String)", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["System.IO", "Stream", True, "BeginRead", "(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "BeginWrite", "(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "Stream", True, "BeginRead", "(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "BeginWrite", "(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "Stream", False, "CopyTo", "(System.IO.Stream)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "Stream", True, "CopyTo", "(System.IO.Stream,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "Stream", False, "CopyToAsync", "(System.IO.Stream)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "Stream", False, "CopyToAsync", "(System.IO.Stream,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "Stream", True, "CopyToAsync", "(System.IO.Stream,System.Int32,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "Stream", False, "CopyToAsync", "(System.IO.Stream,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - - ["System.IO", "Stream", True, "Read", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "Read", "(System.Span)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", False, "ReadAsync", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "ReadAsync", "(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] + - ["System.IO", "Stream", True, "Read", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "Read", "(System.Span)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", False, "ReadAsync", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "ReadAsync", "(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] # Post-update nodes for `Memory` are currently unsupported. This model is provided for completeness - - ["System.IO", "Stream", True, "ReadAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "ReadAtLeast", "(System.Span,System.Int32,System.Boolean)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] + - ["System.IO", "Stream", True, "ReadAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "ReadAtLeast", "(System.Span,System.Int32,System.Boolean)", "", "Argument[this]", "Argument[0]", "taint", "manual"] # Post-update nodes for `Memory` are currently unsupported. This model is provided for completeness - ["System.IO", "Stream", True, "ReadAtLeastAsync", "(System.Memory,System.Int32,System.Boolean,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - - ["System.IO", "Stream", True, "ReadExactly", "(System.Span)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "ReadExactly", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "Stream", True, "Write", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "Stream", True, "Write", "(System.ReadOnlySpan)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "Stream", False, "WriteAsync", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System.IO", "Stream", True, "WriteAsync", "(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "Stream", True, "ReadExactly", "(System.Span)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "ReadExactly", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "Stream", True, "Write", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "Stream", True, "Write", "(System.ReadOnlySpan)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "Stream", False, "WriteAsync", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "Stream", True, "WriteAsync", "(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StreamReader", False, "StreamReader", "(System.IO.Stream)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StreamReader", False, "StreamReader", "(System.IO.Stream,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StreamReader", False, "StreamReader", "(System.IO.Stream,System.Text.Encoding)", "", "Argument[0]", "Argument[this]", "taint", "manual"] @@ -117,27 +117,27 @@ extensions: - ["System.IO", "StringWriter", True, "GetStringBuilder", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System.IO", "StringWriter", False, "StringWriter", "(System.Text.StringBuilder,System.IFormatProvider)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System.IO", "StringWriter", True, "Write", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "StringWriter", True, "Write", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "Write", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "Write", "(System.Text.StringBuilder)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - - ["System.IO", "StringWriter", True, "WriteAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "StringWriter", True, "WriteAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "WriteAsync", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "WriteAsync", "(System.Text.StringBuilder,System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "WriteLine", "(System.Text.StringBuilder)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - - ["System.IO", "StringWriter", True, "WriteLineAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.IO", "StringWriter", True, "WriteLineAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "WriteLineAsync", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "StringWriter", True, "WriteLineAsync", "(System.Text.StringBuilder,System.Threading.CancellationToken)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "TextReader", True, "Read", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System.IO", "TextReader", True, "Read", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "TextReader", True, "Read", "(System.Span)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "TextReader", True, "ReadAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] + - ["System.IO", "TextReader", True, "Read", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "TextReader", True, "Read", "(System.Span)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] # Post-update nodes for `Memory` are currently unsupported. This model is provided for completeness - - ["System.IO", "TextReader", True, "ReadAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "TextReader", True, "ReadBlock", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "TextReader", True, "ReadBlock", "(System.Span)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] - - ["System.IO", "TextReader", True, "ReadBlockAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadBlock", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadBlock", "(System.Span)", "", "Argument[this]", "Argument[0]", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadBlockAsync", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0]", "taint", "manual"] # Post-update nodes for `Memory` are currently unsupported. This model is provided for completeness - - ["System.IO", "TextReader", True, "ReadBlockAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"] + - ["System.IO", "TextReader", True, "ReadBlockAsync", "(System.Memory,System.Threading.CancellationToken)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["System.IO", "TextReader", True, "ReadLine", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System.IO", "TextReader", True, "ReadLineAsync", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System.IO", "TextReader", True, "ReadToEnd", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] diff --git a/csharp/ql/lib/ext/System.Text.model.yml b/csharp/ql/lib/ext/System.Text.model.yml index 0067b8b000cf..df6d58266577 100644 --- a/csharp/ql/lib/ext/System.Text.model.yml +++ b/csharp/ql/lib/ext/System.Text.model.yml @@ -3,31 +3,31 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char*,System.Int32,System.Byte*,System.Int32)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0].Element", "Argument[3]", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.ReadOnlySpan,System.Span)", "", "Argument[0].Element", "Argument[1]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char*,System.Int32,System.Byte*,System.Int32)", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.ReadOnlySpan,System.Span)", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.String,System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.String,System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte*,System.Int32,System.Char*,System.Int32)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0].Element", "Argument[3]", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.ReadOnlySpan,System.Span)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", False, "GetString", "(System.Byte*,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetString", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetString", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", False, "GetString", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte*,System.Int32,System.Char*,System.Int32)", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.ReadOnlySpan,System.Span)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", False, "GetString", "(System.Byte*,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetString", "(System.Byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetString", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", False, "GetString", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Boolean)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Byte)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Char)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Char*,System.Int32)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Char,System.Int32)", "", "Argument[this]", "ReturnValue", "value", "manual"] - - ["System.Text", "StringBuilder", False, "Append", "(System.Char[])", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.Text", "StringBuilder", False, "Append", "(System.Char[])", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Char[])", "", "Argument[this]", "ReturnValue", "value", "manual"] - - ["System.Text", "StringBuilder", False, "Append", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System.Text", "StringBuilder", False, "Append", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Char[],System.Int32,System.Int32)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Decimal)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["System.Text", "StringBuilder", False, "Append", "(System.Double)", "", "Argument[this]", "ReturnValue", "value", "manual"] diff --git a/csharp/ql/lib/ext/System.Xml.model.yml b/csharp/ql/lib/ext/System.Xml.model.yml index efea34b40dbe..7f5e2cddccbc 100644 --- a/csharp/ql/lib/ext/System.Xml.model.yml +++ b/csharp/ql/lib/ext/System.Xml.model.yml @@ -4,16 +4,16 @@ extensions: extensible: summaryModel data: - ["System.Xml", "XmlAttributeCollection", False, "CopyTo", "(System.Xml.XmlAttribute[],System.Int32)", "", "Argument[this].Element", "Argument[0].Element", "value", "manual"] - - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[3]", "ReturnValue", "taint", "df-manual"] - - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[3]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[5]", "ReturnValue", "taint", "df-manual"] - - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[3]", "ReturnValue", "taint", "manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[5]", "ReturnValue", "taint", "manual"] - - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] - - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[1]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 3853f03dc2fc..52c94e4398fe 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -31,29 +31,29 @@ extensions: - ["System", "Array", False, "Reverse", "(T[])", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] - ["System", "Array", False, "Reverse", "(T[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] - ["System", "Boolean", False, "Parse", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Boolean", False, "TryParse", "(System.ReadOnlySpan,System.Boolean)", "", "Argument[0].Element", "Argument[1]", "taint", "manual"] - - ["System", "Boolean", False, "TryParse", "(System.ReadOnlySpan,System.Boolean)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System", "Boolean", False, "TryParse", "(System.ReadOnlySpan,System.Boolean)", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["System", "Boolean", False, "TryParse", "(System.ReadOnlySpan,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Boolean", False, "TryParse", "(System.String,System.Boolean)", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["System", "Boolean", False, "TryParse", "(System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ChangeType", "(System.Object,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ChangeType", "(System.Object,System.Type,System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ChangeType", "(System.Object,System.TypeCode)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ChangeType", "(System.Object,System.TypeCode,System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "FromBase64CharArray", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue.Element", "taint", "manual"] - - ["System", "Convert", False, "FromBase64String", "(System.String)", "", "Argument[0]", "ReturnValue.Element", "taint", "manual"] - - ["System", "Convert", False, "FromHexString", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue.Element", "taint", "manual"] - - ["System", "Convert", False, "FromHexString", "(System.String)", "", "Argument[0]", "ReturnValue.Element", "taint", "manual"] + - ["System", "Convert", False, "FromBase64CharArray", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "FromBase64String", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "FromHexString", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "FromHexString", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "GetTypeCode", "(System.Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "IsDBNull", "(System.Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0].Element", "Argument[3].Element", "taint", "manual"] - - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "Argument[3].Element", "taint", "manual"] - - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64String", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Base64FormattingOptions)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToBase64String", "(System.ReadOnlySpan,System.Base64FormattingOptions)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System", "Convert", False, "ToBase64CharArray", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64String", "(System.Byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Base64FormattingOptions)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64String", "(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToBase64String", "(System.ReadOnlySpan,System.Base64FormattingOptions)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToBoolean", "(System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToBoolean", "(System.Byte)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToBoolean", "(System.Char)", "", "Argument[0]", "ReturnValue", "taint", "manual"] @@ -163,9 +163,9 @@ extensions: - ["System", "Convert", False, "ToDouble", "(System.UInt16)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToDouble", "(System.UInt32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToDouble", "(System.UInt64)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToHexString", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToHexString", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "ToHexString", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToHexString", "(System.Byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToHexString", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "ToHexString", "(System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToInt16", "(System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToInt16", "(System.Byte)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToInt16", "(System.Char)", "", "Argument[0]", "ReturnValue", "taint", "manual"] @@ -353,24 +353,24 @@ extensions: - ["System", "Convert", False, "ToUInt64", "(System.UInt16)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToUInt64", "(System.UInt32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Convert", False, "ToUInt64", "(System.UInt64)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0].Element", "Argument[1].Element", "taint", "manual"] - - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "TryFromBase64String", "(System.String,System.Span,System.Int32)", "", "Argument[0]", "Argument[1].Element", "taint", "manual"] + - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["System", "Convert", False, "TryFromBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "TryFromBase64String", "(System.String,System.Span,System.Int32)", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["System", "Convert", False, "TryFromBase64String", "(System.String,System.Span,System.Int32)", "", "Argument[0]", "Argument[2]", "taint", "manual"] - ["System", "Convert", False, "TryFromBase64String", "(System.String,System.Span,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "Argument[1].Element", "taint", "manual"] - - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Int32", False, "Parse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["System", "Convert", False, "TryToBase64Chars", "(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Int32", False, "Parse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "Parse", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "Parse", "(System.String,System.Globalization.NumberStyles)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "Parse", "(System.String,System.Globalization.NumberStyles,System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "Parse", "(System.String,System.IFormatProvider)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0].Element", "Argument[3]", "taint", "manual"] - - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Int32)", "", "Argument[0].Element", "Argument[1]", "taint", "manual"] - - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Int32)", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["System", "Int32", False, "TryParse", "(System.ReadOnlySpan,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "TryParse", "(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] - ["System", "Int32", False, "TryParse", "(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "Int32", False, "TryParse", "(System.String,System.Int32)", "", "Argument[0]", "Argument[1]", "taint", "manual"] @@ -420,15 +420,15 @@ extensions: - ["System", "String", False, "Concat", "(System.Object,System.Object,System.Object)", "", "Argument[2]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Concat", "(System.Object[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Concat", "(System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[2].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[2].Element", "ReturnValue", "taint", "manual"] - - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[3].Element", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["System", "String", False, "Concat", "(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan)", "", "Argument[3]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Concat", "(System.String,System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Concat", "(System.String,System.String)", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Concat", "(System.String,System.String,System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] @@ -525,8 +525,8 @@ extensions: - ["System", "String", False, "Split", "(System.String,System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"] - ["System", "String", False, "Split", "(System.String[],System.Int32,System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"] - ["System", "String", False, "Split", "(System.String[],System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"] - - ["System", "String", False, "String", "(System.Char[])", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - - ["System", "String", False, "String", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] + - ["System", "String", False, "String", "(System.Char[])", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System", "String", False, "String", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System", "String", False, "Substring", "(System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "Substring", "(System.Int32,System.Int32)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "String", False, "ToLower", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] From f5f77319b5066376cdff18b628a19195a58200d6 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Aug 2025 13:54:11 +0200 Subject: [PATCH 2/4] C#: Add change note. --- csharp/ql/lib/change-notes/2025-08-18-byte-char-bulk-types.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2025-08-18-byte-char-bulk-types.md diff --git a/csharp/ql/lib/change-notes/2025-08-18-byte-char-bulk-types.md b/csharp/ql/lib/change-notes/2025-08-18-byte-char-bulk-types.md new file mode 100644 index 000000000000..e5a081c33403 --- /dev/null +++ b/csharp/ql/lib/change-notes/2025-08-18-byte-char-bulk-types.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Models-as-data summaries for byte and char arrays and pointers now treat the entire collection as tainted, reflecting their common use as string alternatives. From ee1168c261debe35889c817223548f00210f9d26 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Aug 2025 13:59:13 +0200 Subject: [PATCH 3/4] C#: Update test expected output. --- .../dataflow/library/FlowSummaries.expected | 588 +++++++++--------- .../library/FlowSummariesFiltered.expected | 191 +++--- 2 files changed, 391 insertions(+), 388 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index ff615d531152..695da1880e09 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -1683,11 +1683,11 @@ summary | Microsoft.AspNetCore.WebSockets;WebSocketMiddleware;WebSocketMiddleware;(Microsoft.AspNetCore.Http.RequestDelegate,Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Logging.ILoggerFactory);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.WebSockets;WebSocketsDependencyInjectionExtensions;AddWebSockets;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.WebUtilities;BufferedReadStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;BufferedReadStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | Microsoft.AspNetCore.WebUtilities;BufferedReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | Microsoft.AspNetCore.WebUtilities;BufferedReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;BufferedReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -1696,12 +1696,12 @@ summary | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;FileBufferingReadStream;(System.IO.Stream,System.Int32,System.Nullable,System.Func);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;FileBufferingReadStream;(System.IO.Stream,System.Int32,System.Nullable,System.Func,System.Buffers.ArrayPool);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingReadStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -1709,20 +1709,20 @@ summary | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;FileBufferingWriteStream;(System.Int32,System.Nullable,System.Func);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;FileBufferingWriteStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;Read;();Argument[this];ReturnValue;taint;manual | -| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadLine;();Argument[this];ReturnValue;taint;manual | | Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadLineAsync;();Argument[this];ReturnValue;taint;manual | | Microsoft.AspNetCore.WebUtilities;HttpRequestStreamReader;ReadToEndAsync;();Argument[this];ReturnValue;taint;manual | @@ -5278,11 +5278,11 @@ summary | ServiceStack.Text;NetCoreMemory;Deserialize;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | ServiceStack.Text;NetCoreMemory;DeserializeAsync;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | ServiceStack.Text;RecyclableMemoryStream;GetBuffer;();Argument[this];ReturnValue;taint;df-generated | -| ServiceStack.Text;RecyclableMemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| ServiceStack.Text;RecyclableMemoryStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | +| ServiceStack.Text;RecyclableMemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| ServiceStack.Text;RecyclableMemoryStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | | ServiceStack.Text;RecyclableMemoryStream;TryGetBuffer;(System.ArraySegment);Argument[this];Argument[0].Element;taint;df-generated | -| ServiceStack.Text;RecyclableMemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| ServiceStack.Text;RecyclableMemoryStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | +| ServiceStack.Text;RecyclableMemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| ServiceStack.Text;RecyclableMemoryStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | | ServiceStack.Text;RecyclableMemoryStream;WriteTo;(System.IO.Stream);Argument[this];Argument[0];taint;df-generated | | ServiceStack.Text;RecyclableMemoryStreamManager+EventHandler;BeginInvoke;(System.AsyncCallback,System.Object);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | ServiceStack.Text;RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler;BeginInvoke;(ServiceStack.Text.RecyclableMemoryStreamManager+Events+MemoryStreamDiscardReason,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | @@ -10659,8 +10659,8 @@ summary | System.Data.SqlTypes;SqlDecimal;op_UnaryNegation;(System.Data.SqlTypes.SqlDecimal);Argument[0];ReturnValue;value;dfc-generated | | System.Data.SqlTypes;SqlDouble;ReadXml;(System.Xml.XmlReader);Argument[0];Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlDouble;WriteXml;(System.Xml.XmlWriter);Argument[this];Argument[0];taint;df-generated | -| System.Data.SqlTypes;SqlFileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Data.SqlTypes;SqlFileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.Data.SqlTypes;SqlFileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Data.SqlTypes;SqlFileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.Data.SqlTypes;SqlGuid;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System.Data.SqlTypes;SqlGuid;ReadXml;(System.Xml.XmlReader);Argument[0];Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlGuid;SqlGuid;(System.Guid);Argument[0];Argument[this].SyntheticField[System.Data.SqlTypes.SqlGuid._value];value;dfc-generated | @@ -11970,27 +11970,27 @@ summary | System.Globalization;TextInfo;ToUpper;(System.String);Argument[0];ReturnValue;value;dfc-generated | | System.Globalization;TextInfo;get_CultureName;();Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;BrotliStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.Compression;BrotliStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;BrotliStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;BrotliStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;BrotliStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.Compression;BrotliStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.Compression;BrotliStream;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);Argument[0];Argument[this].SyntheticField[System.IO.Compression.BrotliStream._stream];value;dfc-generated | | System.IO.Compression;BrotliStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;BrotliStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO.Compression;BrotliStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;BrotliStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;BrotliStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;BrotliStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;BrotliStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;BrotliStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;BrotliStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;BrotliStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;BrotliStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;BrotliStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;BrotliStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;BrotliStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;BrotliStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;BrotliStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.Compression;BrotliStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.Compression;BrotliStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.Compression;BrotliStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO.Compression;BrotliStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;BrotliStream;get_BaseStream;();Argument[this].SyntheticField[System.IO.Compression.BrotliStream._stream];ReturnValue;value;dfc-generated | | System.IO.Compression;DeflateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.Compression;DeflateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;DeflateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;DeflateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.Compression;DeflateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.Compression;DeflateStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.IO.Compression;DeflateStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | @@ -12000,21 +12000,21 @@ summary | System.IO.Compression;DeflateStream;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);Argument[0];Argument[this];taint;manual | | System.IO.Compression;DeflateStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;DeflateStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO.Compression;DeflateStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;DeflateStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;DeflateStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;DeflateStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;DeflateStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;DeflateStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;DeflateStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;DeflateStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;DeflateStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;DeflateStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.Compression;DeflateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.Compression;DeflateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.Compression;DeflateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO.Compression;DeflateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;DeflateStream;get_BaseStream;();Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;GZipStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.Compression;GZipStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;GZipStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;GZipStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.Compression;GZipStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.Compression;GZipStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.IO.Compression;GZipStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | @@ -12023,33 +12023,33 @@ summary | System.IO.Compression;GZipStream;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);Argument[0];Argument[this].SyntheticField[System.IO.Compression.GZipStream._deflateStream].SyntheticField[System.IO.Compression.DeflateStream._stream];value;dfc-generated | | System.IO.Compression;GZipStream;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);Argument[0];Argument[this].SyntheticField[System.IO.Compression.GZipStream._deflateStream].SyntheticField[System.IO.Compression.DeflateStream._stream];value;dfc-generated | | System.IO.Compression;GZipStream;GZipStream;(System.IO.Stream,System.IO.Compression.ZLibCompressionOptions,System.Boolean);Argument[0];Argument[this].SyntheticField[System.IO.Compression.GZipStream._deflateStream].SyntheticField[System.IO.Compression.DeflateStream._stream];value;dfc-generated | -| System.IO.Compression;GZipStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;GZipStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;GZipStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;GZipStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;GZipStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;GZipStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;GZipStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;GZipStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;GZipStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;GZipStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.Compression;GZipStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.Compression;GZipStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.Compression;GZipStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO.Compression;GZipStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;GZipStream;get_BaseStream;();Argument[this].SyntheticField[System.IO.Compression.GZipStream._deflateStream].SyntheticField[System.IO.Compression.DeflateStream._stream];ReturnValue;value;dfc-generated | | System.IO.Compression;ZLibStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.Compression;ZLibStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;ZLibStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;ZLibStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;ZLibStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.Compression;ZLibStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.Compression;ZLibStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.IO.Compression;ZLibStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO.Compression;ZLibStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO.Compression;ZLibStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO.Compression;ZLibStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;ZLibStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;ZLibStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;ZLibStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Compression;ZLibStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;ZLibStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Compression;ZLibStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Compression;ZLibStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;ZLibStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;ZLibStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;ZLibStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Compression;ZLibStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;ZLibStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.Compression;ZLibStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.Compression;ZLibStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.Compression;ZLibStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.Compression;ZLibStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -12090,19 +12090,19 @@ summary | System.IO.IsolatedStorage;IsolatedStorage;get_AssemblyIdentity;();Argument[this];ReturnValue;taint;df-generated | | System.IO.IsolatedStorage;IsolatedStorage;get_DomainIdentity;();Argument[this];ReturnValue;taint;df-generated | | System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.IsolatedStorage;IsolatedStorageFileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.IsolatedStorage;IsolatedStorageFileStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO.IsolatedStorage;IsolatedStorageFileStream;FlushAsync;(System.Threading.CancellationToken);Argument[this].SyntheticField[System.IO.FileStream._strategy].SyntheticField[System.IO.Strategies.DerivedFileStreamStrategy._fileStream];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO.IsolatedStorage;IsolatedStorageFileStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.IsolatedStorage;IsolatedStorageFileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.IsolatedStorage;IsolatedStorageFileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.IsolatedStorage;IsolatedStorageFileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -12150,18 +12150,18 @@ summary | System.IO.Pipes;NamedPipeServerStream;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);Argument[3];Argument[this];taint;df-generated | | System.IO.Pipes;NamedPipeServerStream;RunAsClient;(System.IO.Pipes.PipeStreamImpersonationWorker);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO.Pipes;PipeStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO.Pipes;PipeStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Pipes;PipeStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Pipes;PipeStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO.Pipes;PipeStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO.Pipes;PipeStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO.Pipes;PipeStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO.Pipes;PipeStream;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);Argument[0];Argument[this].SyntheticField[System.IO.Pipes.PipeStream._handle];value;dfc-generated | -| System.IO.Pipes;PipeStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Pipes;PipeStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Pipes;PipeStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Pipes;PipeStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO.Pipes;PipeStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Pipes;PipeStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO.Pipes;PipeStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO.Pipes;PipeStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO.Pipes;PipeStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO.Pipes;PipeStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Pipes;PipeStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO.Pipes;PipeStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO.Pipes;PipeStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO.Pipes;PipeStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO.Pipes;PipeStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO.Pipes;PipeStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO.Pipes;PipeStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -12180,8 +12180,8 @@ summary | System.IO;BinaryWriter;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;df-generated | | System.IO;BinaryWriter;get_BaseStream;();Argument[this].Field[System.IO.BinaryWriter.OutStream];ReturnValue;value;dfc-generated | | System.IO;BufferedStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO;BufferedStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO;BufferedStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO;BufferedStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO;BufferedStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO;BufferedStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO;BufferedStream;BufferedStream;(System.IO.Stream);Argument[0];Argument[this];taint;manual | | System.IO;BufferedStream;BufferedStream;(System.IO.Stream,System.Int32);Argument[0];Argument[this];taint;manual | @@ -12189,13 +12189,13 @@ summary | System.IO;BufferedStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;BufferedStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO;BufferedStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO;BufferedStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;BufferedStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;BufferedStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;BufferedStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;BufferedStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;BufferedStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;BufferedStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;BufferedStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;BufferedStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;BufferedStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;BufferedStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;BufferedStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;BufferedStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;BufferedStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;BufferedStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO;BufferedStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;BufferedStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -12302,8 +12302,8 @@ summary | System.IO;FileNotFoundException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System.IO;FileNotFoundException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | | System.IO;FileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO;FileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO;FileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO;FileStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO;FileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO;FileStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO;FileStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.IO;FileStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | @@ -12320,13 +12320,13 @@ summary | System.IO;FileStream;FileStream;(System.String,System.IO.FileStreamOptions);Argument[this];Argument[this].SyntheticField[System.IO.FileStream._strategy].SyntheticField[System.IO.Strategies.DerivedFileStreamStrategy._fileStream];value;dfc-generated | | System.IO;FileStream;FlushAsync;(System.Threading.CancellationToken);Argument[this].SyntheticField[System.IO.FileStream._strategy].SyntheticField[System.IO.Strategies.DerivedFileStreamStrategy._fileStream];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO;FileStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO;FileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;FileStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;FileStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;FileStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;FileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;FileStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;FileStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;FileStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;FileStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;FileStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;FileStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;FileStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;FileStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;FileStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;FileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO;FileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;FileStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -12364,27 +12364,27 @@ summary | System.IO;FileSystemWatcher;remove_Error;(System.IO.ErrorEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;remove_Renamed;(System.IO.RenamedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;MemoryStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO;MemoryStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO;MemoryStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO;MemoryStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO;MemoryStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO;MemoryStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO;MemoryStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.IO;MemoryStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;MemoryStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO;MemoryStream;GetBuffer;();Argument[this];ReturnValue;taint;df-generated | -| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;MemoryStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;MemoryStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;MemoryStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;MemoryStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;MemoryStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;MemoryStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;MemoryStream;ToArray;();Argument[this];ReturnValue;taint;manual | | System.IO;MemoryStream;TryGetBuffer;(System.ArraySegment);Argument[this];Argument[0].Element;taint;df-generated | -| System.IO;MemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;MemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;MemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0].Property[System.ReadOnlyMemory`1.Span].Element;Argument[this];taint;df-generated | | System.IO;MemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0].Property[System.ReadOnlyMemory`1.Span].Element;Argument[this];taint;dfc-generated | | System.IO;MemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | @@ -12408,17 +12408,17 @@ summary | System.IO;Path;Combine;(System.String,System.String,System.String,System.String);Argument[2];ReturnValue;taint;manual | | System.IO;Path;Combine;(System.String,System.String,System.String,System.String);Argument[3];ReturnValue;taint;manual | | System.IO;Path;Combine;(System.String[]);Argument[0].Element;ReturnValue;taint;manual | -| System.IO;Path;GetDirectoryName;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetDirectoryName;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetDirectoryName;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetExtension;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetExtension;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetExtension;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetFileName;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetFileName;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFileName;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetFileNameWithoutExtension;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetFileNameWithoutExtension;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFileNameWithoutExtension;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFullPath;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFullPath;(System.String,System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetPathRoot;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetPathRoot;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetPathRoot;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetRelativePath;(System.String,System.String);Argument[1];ReturnValue;taint;manual | | System.IO;Path;Join;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;dfc-generated | @@ -12463,8 +12463,8 @@ summary | System.IO;RenamedEventArgs;get_OldName;();Argument[this].SyntheticField[System.IO.RenamedEventArgs._oldName];ReturnValue;value;dfc-generated | | System.IO;RenamedEventHandler;BeginInvoke;(System.Object,System.IO.RenamedEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO;Stream;CopyTo;(System.IO.Stream);Argument[this];Argument[0];taint;manual | | System.IO;Stream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | @@ -12475,33 +12475,33 @@ summary | System.IO;Stream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO;Stream;FlushAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO;Stream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO;Stream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAtLeast;(System.Span,System.Int32,System.Boolean);Argument[this];Argument[0].Element;taint;manual | +| System.IO;Stream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAtLeast;(System.Span,System.Int32,System.Boolean);Argument[this];Argument[0];taint;manual | | System.IO;Stream;ReadAtLeastAsync;(System.Memory,System.Int32,System.Boolean,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | -| System.IO;Stream;ReadExactly;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadExactly;(System.Span);Argument[this];Argument[0].Element;taint;manual | +| System.IO;Stream;ReadExactly;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadExactly;(System.Span);Argument[this];Argument[0];taint;manual | | System.IO;Stream;Synchronized;(System.IO.Stream);Argument[0];ReturnValue;value;dfc-generated | -| System.IO;Stream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;Stream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | | System.IO;StreamReader;Read;();Argument[this];ReturnValue;taint;manual | -| System.IO;StreamReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadBlock;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StreamReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;StreamReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadBlock;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StreamReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;StreamReader;ReadLine;();Argument[this];ReturnValue;taint;manual | | System.IO;StreamReader;ReadLineAsync;();Argument[this];ReturnValue;taint;manual | | System.IO;StreamReader;ReadLineAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -12577,13 +12577,13 @@ summary | System.IO;StreamWriter;get_BaseStream;();Argument[this].SyntheticField[System.IO.StreamWriter._stream];ReturnValue;value;dfc-generated | | System.IO;StreamWriter;get_Encoding;();Argument[this];ReturnValue;taint;df-generated | | System.IO;StringReader;Read;();Argument[this];ReturnValue;taint;manual | -| System.IO;StringReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;ReadBlock;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;StringReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;StringReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;ReadBlock;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;StringReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;StringReader;ReadLine;();Argument[this];ReturnValue;taint;manual | | System.IO;StringReader;ReadLineAsync;();Argument[this];ReturnValue;taint;manual | | System.IO;StringReader;ReadLineAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -12595,11 +12595,11 @@ summary | System.IO;StringWriter;GetStringBuilder;();Argument[this];ReturnValue;taint;manual | | System.IO;StringWriter;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;ToString;();Argument[this];ReturnValue;taint;manual | -| System.IO;StringWriter;Write;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.IO;StringWriter;Write;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;Write;(System.String);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;Write;(System.Text.StringBuilder);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;WriteAsync;(System.Char);Argument[this];ReturnValue;taint;df-generated | -| System.IO;StringWriter;WriteAsync;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.IO;StringWriter;WriteAsync;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;StringWriter;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO;StringWriter;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -12607,7 +12607,7 @@ summary | System.IO;StringWriter;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;WriteLine;(System.Text.StringBuilder);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;WriteLineAsync;(System.Char);Argument[this];ReturnValue;taint;df-generated | -| System.IO;StringWriter;WriteLineAsync;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.IO;StringWriter;WriteLineAsync;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;StringWriter;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | | System.IO;StringWriter;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -12615,14 +12615,14 @@ summary | System.IO;StringWriter;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;get_Encoding;();Argument[this];ReturnValue;taint;df-generated | | System.IO;TextReader;Read;();Argument[this];ReturnValue;taint;manual | -| System.IO;TextReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlock;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;TextReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlock;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;TextReader;ReadLine;();Argument[this];ReturnValue;taint;manual | | System.IO;TextReader;ReadLineAsync;();Argument[this];ReturnValue;taint;manual | | System.IO;TextReader;ReadLineAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -12707,17 +12707,17 @@ summary | System.IO;UnmanagedMemoryStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO;UnmanagedMemoryStream;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);Argument[0];Argument[this];taint;df-generated | | System.IO;UnmanagedMemoryStream;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);Argument[0];Argument[this];taint;df-generated | -| System.IO;UnmanagedMemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;UnmanagedMemoryStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;UnmanagedMemoryStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;UnmanagedMemoryStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;UnmanagedMemoryStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;UnmanagedMemoryStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;UnmanagedMemoryStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;UnmanagedMemoryStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;UnmanagedMemoryStream;UnmanagedMemoryStream;(System.Byte*,System.Int64);Argument[0];Argument[this];taint;df-generated | | System.IO;UnmanagedMemoryStream;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);Argument[0];Argument[this];taint;df-generated | | System.IO;UnmanagedMemoryStream;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);Argument[0];Argument[this];taint;df-generated | | System.IO;UnmanagedMemoryStream;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);Argument[0];Argument[this];taint;df-generated | -| System.IO;UnmanagedMemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;UnmanagedMemoryStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;UnmanagedMemoryStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;UnmanagedMemoryStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;UnmanagedMemoryStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;UnmanagedMemoryStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;UnmanagedMemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO;UnmanagedMemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;UnmanagedMemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -15118,18 +15118,18 @@ summary | System.Net.Quic;QuicListener;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Net.Quic;QuicListenerOptions;set_ConnectionOptionsCallback;(System.Func>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Net.Quic;QuicStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.Net.Quic;QuicStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Quic;QuicStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Quic;QuicStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.Net.Quic;QuicStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.Net.Quic;QuicStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Net.Quic;QuicStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Net.Quic;QuicStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.Net.Quic;QuicStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Quic;QuicStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Quic;QuicStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Quic;QuicStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Quic;QuicStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Quic;QuicStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Quic;QuicStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Quic;QuicStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Net.Quic;QuicStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.Net.Quic;QuicStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Quic;QuicStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Quic;QuicStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.Net.Quic;QuicStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.Net.Quic;QuicStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.Net.Quic;QuicStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Quic;QuicStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.Net.Quic;QuicStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -15159,16 +15159,16 @@ summary | System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Net.Security;NegotiateStream;BeginAuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Net.Security;NegotiateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.Net.Security;NegotiateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;NegotiateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Security;NegotiateStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.Net.Security;NegotiateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.Net.Security;NegotiateStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Net.Security;NegotiateStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Net.Security;NegotiateStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.Net.Security;NegotiateStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;NegotiateStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;NegotiateStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;NegotiateStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Security;NegotiateStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Security;NegotiateStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Net.Security;NegotiateStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Security;NegotiateStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Security;NegotiateStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.Net.Security;NegotiateStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.Net.Security;NegotiateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;NegotiateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.Net.Security;NegotiateStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -15212,22 +15212,22 @@ summary | System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Boolean,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginAuthenticateAsServer;(System.Security.Cryptography.X509Certificates.X509Certificate,System.Boolean,System.Security.Authentication.SslProtocols,System.Boolean,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.Net.Security;SslStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;SslStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Security;SslStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.Net.Security;SslStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.Net.Security;SslStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Net.Security;SslStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Net.Security;SslStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.Net.Security;SslStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;SslStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Security;SslStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.Net.Security;SslStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Net.Security;SslStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Security;SslStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback,System.Net.Security.EncryptionPolicy);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;SslStream;(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback,System.Net.Security.EncryptionPolicy);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | | System.Net.Security;SslStream;Write;(System.Byte[]);Argument[0].Element;Argument[this];taint;dfc-generated | -| System.Net.Security;SslStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Security;SslStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Security;SslStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.Net.Security;SslStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.Net.Security;SslStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Security;SslStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.Net.Security;SslStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -15247,18 +15247,18 @@ summary | System.Net.Sockets;MulticastOption;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);Argument[0];Argument[this];taint;df-generated | | System.Net.Sockets;MulticastOption;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);Argument[1];Argument[this];taint;df-generated | | System.Net.Sockets;NetworkStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.Net.Sockets;NetworkStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Sockets;NetworkStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Sockets;NetworkStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.Net.Sockets;NetworkStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.Net.Sockets;NetworkStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Net.Sockets;NetworkStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.Net.Sockets;NetworkStream;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);Argument[0];Argument[this].SyntheticField[System.Net.Sockets.NetworkStream._streamSocket];value;dfc-generated | -| System.Net.Sockets;NetworkStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Sockets;NetworkStream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Sockets;NetworkStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Sockets;NetworkStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Net.Sockets;NetworkStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Sockets;NetworkStream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.Net.Sockets;NetworkStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.Net.Sockets;NetworkStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Net.Sockets;NetworkStream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.Net.Sockets;NetworkStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Sockets;NetworkStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Net.Sockets;NetworkStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.Net.Sockets;NetworkStream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.Net.Sockets;NetworkStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.Net.Sockets;NetworkStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Net.Sockets;NetworkStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.Net.Sockets;NetworkStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -17765,8 +17765,8 @@ summary | System.Security.Cryptography;CngUIPolicy;CngUIPolicy;(System.Security.Cryptography.CngUIProtectionLevels,System.String,System.String,System.String,System.String);Argument[3];Argument[this].Property[System.Security.Cryptography.CngUIPolicy.UseContext];value;dfc-generated | | System.Security.Cryptography;CngUIPolicy;CngUIPolicy;(System.Security.Cryptography.CngUIProtectionLevels,System.String,System.String,System.String,System.String);Argument[4];Argument[this].Property[System.Security.Cryptography.CngUIPolicy.CreationTitle];value;dfc-generated | | System.Security.Cryptography;CryptoStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.Security.Cryptography;CryptoStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.Security.Cryptography;CryptoStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.Security.Cryptography;CryptoStream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.Security.Cryptography;CryptoStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.Security.Cryptography;CryptoStream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.Security.Cryptography;CryptoStream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | | System.Security.Cryptography;CryptoStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | @@ -17774,11 +17774,11 @@ summary | System.Security.Cryptography;CryptoStream;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);Argument[1];Argument[this];taint;df-generated | | System.Security.Cryptography;CryptoStream;DisposeAsync;();Argument[this];ReturnValue;taint;df-generated | | System.Security.Cryptography;CryptoStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.Security.Cryptography;CryptoStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.Security.Cryptography;CryptoStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Security.Cryptography;CryptoStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.Security.Cryptography;CryptoStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.Security.Cryptography;CryptoStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.Security.Cryptography;CryptoStream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.Security.Cryptography;CryptoStream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Security.Cryptography;CryptoStream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.Security.Cryptography;CryptoStream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.Security.Cryptography;CryptoStream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.Security.Cryptography;CryptoStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.Security.Cryptography;CryptoStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.Security.Cryptography;CryptoStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -18457,16 +18457,16 @@ summary | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.Boolean);Argument[2];Argument[this];taint;df-generated | | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);Argument[2];Argument[this];taint;df-generated | | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);Argument[3];Argument[this];taint;df-generated | -| System.Text;ASCIIEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;ASCIIEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;ASCIIEncoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];Argument[1];taint;manual | | System.Text;ASCIIEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;ASCIIEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;ASCIIEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;ASCIIEncoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;ASCIIEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;ASCIIEncoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | | System.Text;ASCIIEncoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;ASCIIEncoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;ASCIIEncoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | | System.Text;Decoder;get_FallbackBuffer;();Argument[this];ReturnValue;taint;df-generated | | System.Text;DecoderExceptionFallback;CreateFallbackBuffer;();Argument[this];ReturnValue;taint;df-generated | | System.Text;DecoderFallback;CreateFallbackBuffer;();Argument[this];ReturnValue;taint;df-generated | @@ -18491,29 +18491,29 @@ summary | System.Text;Encoding;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];Argument[this];taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];Argument[this];taint;df-generated | -| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];Argument[1];taint;manual | | System.Text;Encoding;GetBytes;(System.String);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];ReturnValue;taint;df-generated | -| System.Text;Encoding;GetString;(System.Byte*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;get_BodyName;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;get_EncodingName;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;get_HeaderName;();Argument[this];ReturnValue;taint;df-generated | @@ -18545,9 +18545,9 @@ summary | System.Text;StringBuilder;Append;(System.Char);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Char*,System.Int32);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Char,System.Int32);Argument[this];ReturnValue;value;manual | -| System.Text;StringBuilder;Append;(System.Char[]);Argument[0].Element;Argument[this];taint;manual | +| System.Text;StringBuilder;Append;(System.Char[]);Argument[0];Argument[this];taint;manual | | System.Text;StringBuilder;Append;(System.Char[]);Argument[this];ReturnValue;value;manual | -| System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Decimal);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Double);Argument[this];ReturnValue;value;manual | @@ -18693,40 +18693,40 @@ summary | System.Text;StringRuneEnumerator;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Text;StringRuneEnumerator;GetEnumerator;();Argument[this];ReturnValue;value;dfc-generated | | System.Text;StringRuneEnumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UTF7Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF7Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF7Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF7Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UTF7Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;UTF7Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF7Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF7Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF7Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UTF7Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF7Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UTF7Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;UTF7Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];Argument[1];taint;manual | | System.Text;UTF8Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;UTF8Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF8Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;UTF8Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF8Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UTF8Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | | System.Text;UTF8Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF8Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UTF8Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF32Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF8Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;UTF32Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF32Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UTF32Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;UTF32Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UTF32Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF32Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UTF32Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UTF32Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF32Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UTF32Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UnicodeEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF32Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UnicodeEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UnicodeEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;UnicodeEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;UnicodeEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UnicodeEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;UnicodeEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | | System.Text;UnicodeEncoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UnicodeEncoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UnicodeEncoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | | System.Threading.Channels;Channel;CreateBounded;(System.Threading.Channels.BoundedChannelOptions,System.Action);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System.Threading.RateLimiting;ConcurrencyLimiter;AttemptAcquireCore;(System.Int32);Argument[this];ReturnValue;taint;df-generated | | System.Threading.RateLimiting;FixedWindowRateLimiter;AttemptAcquireCore;(System.Int32);Argument[this];ReturnValue;taint;df-generated | @@ -20858,17 +20858,17 @@ summary | System.Xml;XmlDictionary;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlDictionary;TryLookup;(System.String,System.Xml.XmlDictionaryString);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlDictionary;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);Argument[0];Argument[1];value;dfc-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0].Element;ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[5];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | @@ -21842,8 +21842,8 @@ summary | System;Boolean;ToDecimal;(System.IFormatProvider);Argument[this];ReturnValue;value;df-generated | | System;Boolean;ToString;(System.IFormatProvider);Argument[this];ReturnValue;value;dfc-generated | | System;Boolean;ToType;(System.Type,System.IFormatProvider);Argument[this];ReturnValue;value;dfc-generated | -| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0].Element;Argument[1];taint;manual | -| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0].Element;ReturnValue;taint;manual | +| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0];Argument[1];taint;manual | +| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Boolean;TryParse;(System.String,System.Boolean);Argument[0];Argument[1];taint;manual | | System;Boolean;TryParse;(System.String,System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Byte;Clamp;(System.Byte,System.Byte,System.Byte);Argument[0];ReturnValue;value;dfc-generated | @@ -21887,21 +21887,21 @@ summary | System;Convert;ChangeType;(System.Object,System.Type,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | | System;Convert;ChangeType;(System.Object,System.TypeCode);Argument[0];ReturnValue;taint;manual | | System;Convert;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | -| System;Convert;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;taint;manual | -| System;Convert;FromBase64String;(System.String);Argument[0];ReturnValue.Element;taint;manual | -| System;Convert;FromHexString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue.Element;taint;manual | -| System;Convert;FromHexString;(System.String);Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromBase64String;(System.String);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromHexString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromHexString;(System.String);Argument[0];ReturnValue;taint;manual | | System;Convert;GetTypeCode;(System.Object);Argument[0];ReturnValue;taint;manual | | System;Convert;IsDBNull;(System.Object);Argument[0];ReturnValue;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3].Element;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[3].Element;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0];Argument[3];taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Byte);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Char);Argument[0];ReturnValue;taint;manual | @@ -22011,9 +22011,9 @@ summary | System;Convert;ToDouble;(System.UInt16);Argument[0];ReturnValue;taint;manual | | System;Convert;ToDouble;(System.UInt32);Argument[0];ReturnValue;taint;manual | | System;Convert;ToDouble;(System.UInt64);Argument[0];ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Byte);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Char);Argument[0];ReturnValue;taint;manual | @@ -22201,15 +22201,15 @@ summary | System;Convert;ToUInt64;(System.UInt16);Argument[0];ReturnValue;taint;manual | | System;Convert;ToUInt64;(System.UInt32);Argument[0];ReturnValue;taint;manual | | System;Convert;ToUInt64;(System.UInt64);Argument[0];ReturnValue;taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;Argument[1].Element;taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[1].Element;taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];Argument[1];taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];Argument[2];taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[1];taint;manual | | System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[2];taint;manual | | System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];ReturnValue;taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[1].Element;taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[2];taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];Argument[1];taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];Argument[2];taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | | System;Converter;BeginInvoke;(TInput,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;DBNull;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;DBNull;ToDateTime;(System.IFormatProvider);Argument[this];ReturnValue;value;df-generated | @@ -22420,7 +22420,7 @@ summary | System;Int32;MinNumber;(System.Int32,System.Int32);Argument[0];ReturnValue;value;dfc-generated | | System;Int32;MinNumber;(System.Int32,System.Int32);Argument[1];ReturnValue;value;dfc-generated | | System;Int32;MultiplyAddEstimate;(System.Int32,System.Int32,System.Int32);Argument[2];ReturnValue;taint;dfc-generated | -| System;Int32;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String,System.Globalization.NumberStyles);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | @@ -22432,10 +22432,10 @@ summary | System;Int32;ToString;(System.IFormatProvider);Argument[this];ReturnValue;value;dfc-generated | | System;Int32;ToString;(System.String,System.IFormatProvider);Argument[this];ReturnValue;taint;dfc-generated | | System;Int32;ToType;(System.Type,System.IFormatProvider);Argument[this];ReturnValue;value;dfc-generated | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0].Element;Argument[1];taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];Argument[3];taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0];Argument[1];taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0];ReturnValue;taint;manual | | System;Int32;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];Argument[3];taint;manual | | System;Int32;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];ReturnValue;taint;manual | | System;Int32;TryParse;(System.String,System.Int32);Argument[0];Argument[1];taint;manual | @@ -22827,15 +22827,15 @@ summary | System;String;Concat;(System.Object,System.Object,System.Object);Argument[1];ReturnValue;taint;manual | | System;String;Concat;(System.Object,System.Object,System.Object);Argument[2];ReturnValue;taint;manual | | System;String;Concat;(System.Object[]);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[3].Element;ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[3];ReturnValue;taint;manual | | System;String;Concat;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | | System;String;Concat;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | | System;String;Concat;(System.String,System.String);Argument[0];ReturnValue;taint;manual | @@ -22948,8 +22948,8 @@ summary | System;String;Split;(System.String,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | | System;String;Split;(System.String[],System.Int32,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | | System;String;Split;(System.String[],System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | -| System;String;String;(System.Char[]);Argument[0].Element;Argument[this];taint;manual | -| System;String;String;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System;String;String;(System.Char[]);Argument[0];Argument[this];taint;manual | +| System;String;String;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System;String;Substring;(System.Int32);Argument[this];ReturnValue;taint;manual | | System;String;Substring;(System.Int32,System.Int32);Argument[this];ReturnValue;taint;manual | | System;String;ToDateTime;(System.IFormatProvider);Argument[this];ReturnValue;value;df-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index faf716f4d7be..6d9e9a751c6b 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -9208,11 +9208,11 @@ | System.IO;FileSystemWatcher;remove_Error;(System.IO.ErrorEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;remove_Renamed;(System.IO.RenamedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;MemoryStream;GetBuffer;();Argument[this];ReturnValue;taint;df-generated | -| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0].Element;Argument[this];taint;manual | -| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);Argument[0].Element;Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);Argument[0];Argument[this];taint;manual | | System.IO;MemoryStream;ToArray;();Argument[this];ReturnValue;taint;manual | | System.IO;MemoryStream;TryGetBuffer;(System.ArraySegment);Argument[this];Argument[0].Element;taint;df-generated | | System.IO;MemoryStream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0].Property[System.ReadOnlyMemory`1.Span].Element;Argument[this];taint;df-generated | @@ -9230,17 +9230,17 @@ | System.IO;Path;Combine;(System.String,System.String,System.String,System.String);Argument[2];ReturnValue;taint;manual | | System.IO;Path;Combine;(System.String,System.String,System.String,System.String);Argument[3];ReturnValue;taint;manual | | System.IO;Path;Combine;(System.String[]);Argument[0].Element;ReturnValue;taint;manual | -| System.IO;Path;GetDirectoryName;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetDirectoryName;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetDirectoryName;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetExtension;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetExtension;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetExtension;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetFileName;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetFileName;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFileName;(System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetFileNameWithoutExtension;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetFileNameWithoutExtension;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFileNameWithoutExtension;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFullPath;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetFullPath;(System.String,System.String);Argument[0];ReturnValue;taint;manual | -| System.IO;Path;GetPathRoot;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;GetPathRoot;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetPathRoot;(System.String);Argument[0];ReturnValue;taint;manual | | System.IO;Path;GetRelativePath;(System.String,System.String);Argument[1];ReturnValue;taint;manual | | System.IO;Path;Join;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;dfc-generated | @@ -9285,8 +9285,8 @@ | System.IO;RenamedEventArgs;get_OldName;();Argument[this].SyntheticField[System.IO.RenamedEventArgs._oldName];ReturnValue;value;dfc-generated | | System.IO;RenamedEventHandler;BeginInvoke;(System.Object,System.IO.RenamedEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | -| System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0].Element;Argument[this];taint;manual | +| System.IO;Stream;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[0];Argument[this];taint;manual | | System.IO;Stream;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;manual | | System.IO;Stream;CopyTo;(System.IO.Stream);Argument[this];Argument[0];taint;manual | | System.IO;Stream;CopyTo;(System.IO.Stream,System.Int32);Argument[this];Argument[0];taint;manual | @@ -9296,20 +9296,20 @@ | System.IO;Stream;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;Stream;FlushAsync;();Argument[this];ReturnValue;taint;df-generated | | System.IO;Stream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | -| System.IO;Stream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadAtLeast;(System.Span,System.Int32,System.Boolean);Argument[this];Argument[0].Element;taint;manual | +| System.IO;Stream;Read;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadAtLeast;(System.Span,System.Int32,System.Boolean);Argument[this];Argument[0];taint;manual | | System.IO;Stream;ReadAtLeastAsync;(System.Memory,System.Int32,System.Boolean,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | -| System.IO;Stream;ReadExactly;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;Stream;ReadExactly;(System.Span);Argument[this];Argument[0].Element;taint;manual | +| System.IO;Stream;ReadExactly;(System.Byte[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;Stream;ReadExactly;(System.Span);Argument[this];Argument[0];taint;manual | | System.IO;Stream;Synchronized;(System.IO.Stream);Argument[0];ReturnValue;value;dfc-generated | -| System.IO;Stream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;Write;(System.ReadOnlySpan);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | -| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual | +| System.IO;Stream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;Write;(System.ReadOnlySpan);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0];Argument[this];taint;manual | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];Argument[this];taint;df-generated | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated | | System.IO;Stream;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);Argument[1];ReturnValue;taint;df-generated | @@ -9335,15 +9335,18 @@ | System.IO;StringWriter;GetStringBuilder;();Argument[this];ReturnValue;taint;manual | | System.IO;StringWriter;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);Argument[0];Argument[this];taint;manual | | System.IO;StringWriter;ToString;();Argument[this];ReturnValue;taint;manual | +| System.IO;StringWriter;Write;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;StringWriter;WriteAsync;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | +| System.IO;StringWriter;WriteLineAsync;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.IO;TextReader;Read;();Argument[this];ReturnValue;taint;manual | -| System.IO;TextReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;Read;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlock;(System.Span);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0].Element;taint;manual | -| System.IO;TextReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0].Element;taint;manual | +| System.IO;TextReader;Read;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;Read;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlock;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlock;(System.Span);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);Argument[this];Argument[0];taint;manual | +| System.IO;TextReader;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;TextReader;ReadLine;();Argument[this];ReturnValue;taint;manual | | System.IO;TextReader;ReadLineAsync;();Argument[this];ReturnValue;taint;manual | | System.IO;TextReader;ReadLineAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated | @@ -14066,29 +14069,29 @@ | System.Text;Encoding;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];Argument[this];taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];Argument[this];taint;df-generated | -| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];Argument[1];taint;manual | | System.Text;Encoding;GetBytes;(System.String);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | -| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0];Argument[2];taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];ReturnValue;taint;df-generated | -| System.Text;Encoding;GetString;(System.Byte*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;get_BodyName;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;get_EncodingName;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;get_HeaderName;();Argument[this];ReturnValue;taint;df-generated | @@ -14119,9 +14122,9 @@ | System.Text;StringBuilder;Append;(System.Char);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Char*,System.Int32);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Char,System.Int32);Argument[this];ReturnValue;value;manual | -| System.Text;StringBuilder;Append;(System.Char[]);Argument[0].Element;Argument[this];taint;manual | +| System.Text;StringBuilder;Append;(System.Char[]);Argument[0];Argument[this];taint;manual | | System.Text;StringBuilder;Append;(System.Char[]);Argument[this];ReturnValue;value;manual | -| System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System.Text;StringBuilder;Append;(System.Char[],System.Int32,System.Int32);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Decimal);Argument[this];ReturnValue;value;manual | | System.Text;StringBuilder;Append;(System.Double);Argument[this];ReturnValue;value;manual | @@ -16186,17 +16189,17 @@ | System.Xml;XmlDeclaration;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);Argument[2];Argument[this];taint;df-generated | | System.Xml;XmlDictionary;Add;(System.String);Argument[0];ReturnValue.SyntheticField[System.Xml.XmlDictionaryString._value];value;dfc-generated | | System.Xml;XmlDictionary;Add;(System.String);Argument[this];ReturnValue.SyntheticField[System.Xml.XmlDictionaryString._dictionary];value;dfc-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0].Element;ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[5];ReturnValue;taint;manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | @@ -16896,8 +16899,8 @@ | System;BadImageFormatException;get_FusionLog;();Argument[this].SyntheticField[System.BadImageFormatException._fusionLog];ReturnValue;value;dfc-generated | | System;BadImageFormatException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated | | System;Boolean;Parse;(System.String);Argument[0];ReturnValue;taint;manual | -| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0].Element;Argument[1];taint;manual | -| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0].Element;ReturnValue;taint;manual | +| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0];Argument[1];taint;manual | +| System;Boolean;TryParse;(System.ReadOnlySpan,System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Boolean;TryParse;(System.String,System.Boolean);Argument[0];Argument[1];taint;manual | | System;Boolean;TryParse;(System.String,System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Comparison;BeginInvoke;(T,T,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | @@ -16908,21 +16911,21 @@ | System;Convert;ChangeType;(System.Object,System.Type,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | | System;Convert;ChangeType;(System.Object,System.TypeCode);Argument[0];ReturnValue;taint;manual | | System;Convert;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | -| System;Convert;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue.Element;taint;manual | -| System;Convert;FromBase64String;(System.String);Argument[0];ReturnValue.Element;taint;manual | -| System;Convert;FromHexString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue.Element;taint;manual | -| System;Convert;FromHexString;(System.String);Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromBase64String;(System.String);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromHexString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;Convert;FromHexString;(System.String);Argument[0];ReturnValue;taint;manual | | System;Convert;GetTypeCode;(System.Object);Argument[0];ReturnValue;taint;manual | | System;Convert;IsDBNull;(System.Object);Argument[0];ReturnValue;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3].Element;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[3].Element;taint;manual | -| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];Argument[3];taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0];Argument[3];taint;manual | +| System;Convert;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Byte);Argument[0];ReturnValue;taint;manual | | System;Convert;ToBoolean;(System.Char);Argument[0];ReturnValue;taint;manual | @@ -17032,9 +17035,9 @@ | System;Convert;ToDouble;(System.UInt16);Argument[0];ReturnValue;taint;manual | | System;Convert;ToDouble;(System.UInt32);Argument[0];ReturnValue;taint;manual | | System;Convert;ToDouble;(System.UInt64);Argument[0];ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;ToHexString;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.Byte[]);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.Byte[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;ToHexString;(System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Boolean);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Byte);Argument[0];ReturnValue;taint;manual | | System;Convert;ToInt16;(System.Char);Argument[0];ReturnValue;taint;manual | @@ -17222,15 +17225,15 @@ | System;Convert;ToUInt64;(System.UInt16);Argument[0];ReturnValue;taint;manual | | System;Convert;ToUInt64;(System.UInt32);Argument[0];ReturnValue;taint;manual | | System;Convert;ToUInt64;(System.UInt64);Argument[0];ReturnValue;taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;Argument[1].Element;taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;Argument[2];taint;manual | -| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[1].Element;taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];Argument[1];taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];Argument[2];taint;manual | +| System;Convert;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[1];taint;manual | | System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];Argument[2];taint;manual | | System;Convert;TryFromBase64String;(System.String,System.Span,System.Int32);Argument[0];ReturnValue;taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[1].Element;taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;Argument[2];taint;manual | -| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];Argument[1];taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];Argument[2];taint;manual | +| System;Convert;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);Argument[0];ReturnValue;taint;manual | | System;Converter;BeginInvoke;(TInput,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | System;DateTime;ToLocalTime;();Argument[this];ReturnValue;value;df-generated | | System;DateTimeOffset;Deconstruct;(System.DateOnly,System.TimeOnly,System.TimeSpan);Argument[this].Property[System.DateTimeOffset.Offset];Argument[2];value;dfc-generated | @@ -17312,15 +17315,15 @@ | System;IFormatProvider;GetFormat;(System.Type);Argument[this];ReturnValue;value;dfc-generated | | System;IFormattable;ToString;(System.String,System.IFormatProvider);Argument[this];ReturnValue;taint;dfc-generated | | System;IServiceProvider;GetService;(System.Type);Argument[this];ReturnValue;value;dfc-generated | -| System;Int32;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String,System.Globalization.NumberStyles);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | | System;Int32;Parse;(System.String,System.IFormatProvider);Argument[0];ReturnValue;taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0].Element;Argument[3];taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0].Element;Argument[1];taint;manual | -| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];Argument[3];taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];ReturnValue;taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0];Argument[1];taint;manual | +| System;Int32;TryParse;(System.ReadOnlySpan,System.Int32);Argument[0];ReturnValue;taint;manual | | System;Int32;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];Argument[3];taint;manual | | System;Int32;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);Argument[0];ReturnValue;taint;manual | | System;Int32;TryParse;(System.String,System.Int32);Argument[0];Argument[1];taint;manual | @@ -17590,15 +17593,15 @@ | System;String;Concat;(System.Object,System.Object,System.Object);Argument[1];ReturnValue;taint;manual | | System;String;Concat;(System.Object,System.Object,System.Object);Argument[2];ReturnValue;taint;manual | | System;String;Concat;(System.Object[]);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2].Element;ReturnValue;taint;manual | -| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[3].Element;ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[0];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[1];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[2];ReturnValue;taint;manual | +| System;String;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);Argument[3];ReturnValue;taint;manual | | System;String;Concat;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | | System;String;Concat;(System.ReadOnlySpan);Argument[0].Element;ReturnValue;taint;manual | | System;String;Concat;(System.String,System.String);Argument[0];ReturnValue;taint;manual | @@ -17710,8 +17713,8 @@ | System;String;Split;(System.String,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | | System;String;Split;(System.String[],System.Int32,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | | System;String;Split;(System.String[],System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual | -| System;String;String;(System.Char[]);Argument[0].Element;Argument[this];taint;manual | -| System;String;String;(System.Char[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | +| System;String;String;(System.Char[]);Argument[0];Argument[this];taint;manual | +| System;String;String;(System.Char[],System.Int32,System.Int32);Argument[0];Argument[this];taint;manual | | System;String;Substring;(System.Int32);Argument[this];ReturnValue;taint;manual | | System;String;Substring;(System.Int32,System.Int32);Argument[this];ReturnValue;taint;manual | | System;String;ToLower;();Argument[this];ReturnValue;taint;manual | From 176c8b59df6c8cf88cc1611806bd2997fa4c14bb Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 18 Aug 2025 16:22:42 +0200 Subject: [PATCH 4/4] C#: Update tests expected output. --- .../threat-models-flowtest1.expected | 26 +++++++++---------- .../threat-models-flowtest2.expected | 26 +++++++++---------- .../threat-models-flowtest3.expected | 26 +++++++++---------- .../threat-models-flowtest4.expected | 26 +++++++++---------- .../threat-models-flowtest5.expected | 26 +++++++++---------- .../threat-models-flowtest6.expected | 26 +++++++++---------- ...safeDeserializationUntrustedInput.expected | 10 +++---- 7 files changed, 83 insertions(+), 83 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest1.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest1.expected index a3850dd73ebd..25f26c9a2c04 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest1.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest1.expected @@ -1,30 +1,30 @@ models | 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual | | 2 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 3 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 3 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:2 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:3 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:3 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest2.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest2.expected index 9b1b32b57fda..2fc82b1bf692 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest2.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest2.expected @@ -2,36 +2,36 @@ models | 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual | | 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual | | 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 4 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 5 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 4 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 5 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:5 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:5 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:4 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:4 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:5 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:5 | | Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | | Test.cs:34:20:34:25 | access to local variable result : String | semmle.label | access to local variable result : String | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | semmle.label | call to method ExecuteQuery : String | | Test.cs:37:42:37:96 | ... + ... | semmle.label | ... + ... | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:37:42:37:96 | ... + ... | diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest3.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest3.expected index ee8d0615b2d4..2a2227cce72a 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest3.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest3.expected @@ -4,18 +4,18 @@ models | 3 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual | | 4 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual | | 5 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 6 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 7 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 6 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 7 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:7 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:7 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:5 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:6 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:6 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:7 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:7 | | Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 | | Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 | @@ -23,16 +23,16 @@ edges | Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | | Test.cs:34:20:34:25 | access to local variable result : String | semmle.label | access to local variable result : String | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | semmle.label | call to method ExecuteQuery : String | | Test.cs:37:42:37:96 | ... + ... | semmle.label | ... + ... | @@ -43,7 +43,7 @@ nodes | Test.cs:62:29:62:48 | call to method GetCliArg : String | semmle.label | call to method GetCliArg : String | | Test.cs:65:42:65:96 | ... + ... | semmle.label | ... + ... | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:37:42:37:96 | ... + ... | diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest4.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest4.expected index cac7f178b409..c197c4c9a2e8 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest4.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest4.expected @@ -5,18 +5,18 @@ models | 4 | Source: My.Qltest; TestSources; false; GetCustom; (System.String); ; ReturnValue; custom; manual | | 5 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual | | 6 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 7 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 8 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 7 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 8 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:8 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:8 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:6 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:7 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:7 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:8 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:8 | | Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 | | Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 | @@ -26,16 +26,16 @@ edges | Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | | Test.cs:34:20:34:25 | access to local variable result : String | semmle.label | access to local variable result : String | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | semmle.label | call to method ExecuteQuery : String | | Test.cs:37:42:37:96 | ... + ... | semmle.label | ... + ... | @@ -49,7 +49,7 @@ nodes | Test.cs:62:29:62:48 | call to method GetCliArg : String | semmle.label | call to method GetCliArg : String | | Test.cs:65:42:65:96 | ... + ... | semmle.label | ... + ... | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:37:42:37:96 | ... + ... | diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.expected index b0e7142693f9..2e3afa2979cd 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.expected @@ -3,33 +3,33 @@ models | 2 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual | | 3 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual | | 4 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:4 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:5 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:5 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 | | Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:3 | | Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:2 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | | Test.cs:43:20:43:25 | access to local variable result : String | semmle.label | access to local variable result : String | | Test.cs:43:29:43:50 | call to method ReadEnv : String | semmle.label | call to method ReadEnv : String | | Test.cs:46:42:46:96 | ... + ... | semmle.label | ... + ... | @@ -37,7 +37,7 @@ nodes | Test.cs:62:29:62:48 | call to method GetCliArg : String | semmle.label | call to method GetCliArg : String | | Test.cs:65:42:65:96 | ... + ... | semmle.label | ... + ... | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | | Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:46:42:46:96 | ... + ... | diff --git a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest6.expected b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest6.expected index ae9fccfab806..e3bfabf8d568 100644 --- a/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest6.expected +++ b/csharp/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest6.expected @@ -3,33 +3,33 @@ models | 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual | | 3 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual | | 4 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual | -| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual | -| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual | +| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0]; taint; manual | +| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0]; ReturnValue; taint; manual | edges -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 | +| Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | provenance | | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:4 | -| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:5 | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | | +| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | provenance | MaD:5 | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | provenance | | | Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | provenance | | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 | | Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 | | Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 | | Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 | nodes -| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object | +| Test.cs:12:45:12:49 | bytes : Byte[] | semmle.label | bytes : Byte[] | | Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String | -| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | semmle.label | access to parameter bytes : Byte[] [element] : Object | +| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] | semmle.label | access to parameter bytes : Byte[] | | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | semmle.label | call to method GetStream : NetworkStream | | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | semmle.label | access to local variable stream : NetworkStream | -| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | semmle.label | [post] access to local variable buffer : Byte[] [element] : Object | +| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] | semmle.label | [post] access to local variable buffer : Byte[] | | Test.cs:28:42:28:111 | ... + ... | semmle.label | ... + ... | | Test.cs:28:85:28:105 | call to method BytesToString : String | semmle.label | call to method BytesToString : String | -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | semmle.label | access to local variable buffer : Byte[] [element] : Object | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | semmle.label | access to local variable buffer : Byte[] | | Test.cs:34:20:34:25 | access to local variable result : String | semmle.label | access to local variable result : String | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | semmle.label | call to method ExecuteQuery : String | | Test.cs:37:42:37:96 | ... + ... | semmle.label | ... + ... | @@ -37,7 +37,7 @@ nodes | Test.cs:62:29:62:48 | call to method GetCliArg : String | semmle.label | call to method GetCliArg : String | | Test.cs:65:42:65:96 | ... + ... | semmle.label | ... + ... | subpaths -| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | +| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] | Test.cs:12:45:12:49 | bytes : Byte[] | Test.cs:15:20:15:61 | call to method GetString : String | Test.cs:28:85:28:105 | call to method BytesToString : String | #select | Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:28:42:28:111 | ... + ... | | Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:37:42:37:96 | ... + ... | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected index c3377fcb04f0..7f095fb277e5 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected @@ -11,9 +11,9 @@ edges | BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | provenance | MaD:1 | | BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | provenance | MaD:3 | | BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | provenance | MaD:2 | -| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | provenance | MaD:1 | +| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] | BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | provenance | MaD:1 | | BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | provenance | MaD:3 | -| BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | provenance | MaD:4 | +| BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] | provenance | MaD:4 | | DataContractJsonSerializerUntrustedInputBad.cs:13:47:13:79 | call to method GetBytes : Byte[] | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | provenance | MaD:1 | | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:78 | access to property Text : String | provenance | MaD:3 | | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:78 | access to property Text : String | DataContractJsonSerializerUntrustedInputBad.cs:13:47:13:79 | call to method GetBytes : Byte[] | provenance | MaD:2 | @@ -31,17 +31,17 @@ edges | XmlSerializerUntrustedInputBad.cs:13:71:13:74 | access to parameter data : TextBox | XmlSerializerUntrustedInputBad.cs:13:71:13:79 | access to property Text : String | provenance | MaD:3 | | XmlSerializerUntrustedInputBad.cs:13:71:13:79 | access to property Text : String | XmlSerializerUntrustedInputBad.cs:13:48:13:80 | call to method GetBytes : Byte[] | provenance | MaD:2 | models -| 1 | Summary: System.IO; MemoryStream; false; MemoryStream; (System.Byte[]); ; Argument[0].Element; Argument[this]; taint; manual | +| 1 | Summary: System.IO; MemoryStream; false; MemoryStream; (System.Byte[]); ; Argument[0]; Argument[this]; taint; manual | | 2 | Summary: System.Text; Encoding; true; GetBytes; (System.String); ; Argument[0]; ReturnValue; taint; manual | | 3 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual | -| 4 | Summary: System; Convert; false; FromBase64String; (System.String); ; Argument[0]; ReturnValue.Element; taint; manual | +| 4 | Summary: System; Convert; false; FromBase64String; (System.String); ; Argument[0]; ReturnValue; taint; manual | nodes | BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | | BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | semmle.label | call to method GetBytes : Byte[] | | BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | semmle.label | access to parameter textBox : TextBox | | BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | semmle.label | access to property Text : String | | BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | -| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | semmle.label | call to method FromBase64String : Byte[] [element] : Object | +| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] | semmle.label | call to method FromBase64String : Byte[] | | BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | semmle.label | access to parameter data : TextBox | | BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | semmle.label | access to property Text : String | | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream |