2
2
3
3
import csharp
4
4
private import semmle.code.csharp.frameworks.System
5
+ private import semmle.code.csharp.dataflow.ExternalFlow
5
6
6
7
/** The `System.Text` namespace. */
7
8
class SystemTextNamespace extends Namespace {
@@ -24,6 +25,97 @@ class SystemTextStringBuilderClass extends SystemTextClass {
24
25
Method getAppendFormatMethod ( ) { result = this .getAMethod ( "AppendFormat" ) }
25
26
}
26
27
28
+ /** Data flow for `System.Text.StringBuilder`. */
29
+ private class SystemTextStringBuilderFlowModelCsv extends SummaryModelCsv {
30
+ override predicate row ( string row ) {
31
+ row =
32
+ [
33
+ "System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[-1];ReturnValue;value" ,
34
+ "System.Text;StringBuilder;false;Append;(System.Byte);;Argument[-1];ReturnValue;value" ,
35
+ "System.Text;StringBuilder;false;Append;(System.Char);;Argument[-1];ReturnValue;value" ,
36
+ "System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[-1];ReturnValue;value" ,
37
+ "System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[-1];ReturnValue;value" ,
38
+ "System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[-1];ReturnValue;value" ,
39
+ "System.Text;StringBuilder;false;Append;(System.Char[]);;Element of Argument[0];Element of Argument[-1];value" ,
40
+ "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[-1];ReturnValue;value" ,
41
+ "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];Element of Argument[-1];value" ,
42
+ "System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[-1];ReturnValue;value" ,
43
+ "System.Text;StringBuilder;false;Append;(System.Double);;Argument[-1];ReturnValue;value" ,
44
+ "System.Text;StringBuilder;false;Append;(System.Int16);;Argument[-1];ReturnValue;value" ,
45
+ "System.Text;StringBuilder;false;Append;(System.Int32);;Argument[-1];ReturnValue;value" ,
46
+ "System.Text;StringBuilder;false;Append;(System.Int64);;Argument[-1];ReturnValue;value" ,
47
+ "System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Element of Argument[-1];value" ,
48
+ "System.Text;StringBuilder;false;Append;(System.Object);;Argument[-1];ReturnValue;value" ,
49
+ "System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory<System.Char>);;Argument[-1];ReturnValue;value" ,
50
+ "System.Text;StringBuilder;false;Append;(System.ReadOnlySpan<System.Char>);;Argument[-1];ReturnValue;value" ,
51
+ "System.Text;StringBuilder;false;Append;(System.SByte);;Argument[-1];ReturnValue;value" ,
52
+ "System.Text;StringBuilder;false;Append;(System.Single);;Argument[-1];ReturnValue;value" ,
53
+ "System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Element of Argument[-1];value" ,
54
+ "System.Text;StringBuilder;false;Append;(System.String);;Argument[-1];ReturnValue;value" ,
55
+ "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Element of Argument[-1];value" ,
56
+ "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[-1];ReturnValue;value" ,
57
+ "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[-1];ReturnValue;value" ,
58
+ "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[-1];ReturnValue;value" ,
59
+ "System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[-1];ReturnValue;value" ,
60
+ "System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[-1];ReturnValue;value" ,
61
+ "System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[-1];ReturnValue;value" ,
62
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Element of Argument[-1];value" ,
63
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Element of Argument[-1];value" ,
64
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[-1];ReturnValue;value" ,
65
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Element of Argument[-1];value" ,
66
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Element of Argument[-1];value" ,
67
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Element of Argument[-1];value" ,
68
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[-1];ReturnValue;value" ,
69
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Element of Argument[-1];value" ,
70
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Element of Argument[-1];value" ,
71
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Element of Argument[-1];value" ,
72
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Element of Argument[-1];value" ,
73
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[-1];ReturnValue;value" ,
74
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Element of Argument[-1];value" ,
75
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[-1];ReturnValue;value" ,
76
+ "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Element of Argument[2];Element of Argument[-1];value" ,
77
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Element of Argument[-1];value" ,
78
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Element of Argument[-1];value" ,
79
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[-1];ReturnValue;value" ,
80
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Element of Argument[-1];value" ,
81
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Element of Argument[-1];value" ,
82
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Element of Argument[-1];value" ,
83
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[-1];ReturnValue;value" ,
84
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Element of Argument[-1];value" ,
85
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Element of Argument[-1];value" ,
86
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Element of Argument[-1];value" ,
87
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Element of Argument[-1];value" ,
88
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[-1];ReturnValue;value" ,
89
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Element of Argument[-1];value" ,
90
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[-1];ReturnValue;value" ,
91
+ "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Element of Argument[1];Element of Argument[-1];value" ,
92
+ "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[-1];ReturnValue;value" ,
93
+ "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Element of Argument[1];Element of Argument[-1];value" ,
94
+ "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[-1];ReturnValue;value" ,
95
+ "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Element of Argument[1];Element of Argument[-1];value" ,
96
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Element of Argument[-1];value" ,
97
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[-1];ReturnValue;value" ,
98
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Element of Argument[1];Element of Argument[-1];value" ,
99
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Element of Argument[-1];value" ,
100
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[-1];ReturnValue;value" ,
101
+ "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Element of Argument[1];Element of Argument[-1];value" ,
102
+ "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Argument[-1];ReturnValue;value" ,
103
+ "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];Element of Argument[-1];value" ,
104
+ "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Argument[0];Element of Argument[-1];value" ,
105
+ "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Argument[-1];ReturnValue;value" ,
106
+ "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];Element of Argument[-1];value" ,
107
+ "System.Text;StringBuilder;false;AppendLine;();;Argument[-1];ReturnValue;value" ,
108
+ "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Element of Argument[-1];value" ,
109
+ "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[-1];ReturnValue;value" ,
110
+ "System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];Element of ReturnValue;value" ,
111
+ "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];Element of ReturnValue;value" ,
112
+ "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];Element of ReturnValue;value" ,
113
+ "System.Text;StringBuilder;false;ToString;();;Element of Argument[-1];ReturnValue;taint" ,
114
+ "System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Element of Argument[-1];ReturnValue;taint" ,
115
+ ]
116
+ }
117
+ }
118
+
27
119
/** The `System.Text.Encoding` class. */
28
120
class SystemTextEncodingClass extends SystemTextClass {
29
121
SystemTextEncodingClass ( ) { this .hasName ( "Encoding" ) }
0 commit comments