Merge pull request #7304 from michaelnebel/csharp-mad-as-csv2

C#: Convert flow summaries to CSV format.
This commit is contained in:
Michael Nebel
2021-12-13 08:56:06 +01:00
committed by GitHub
6 changed files with 650 additions and 337 deletions

View File

@@ -92,6 +92,7 @@ private module Frameworks {
private import semmle.code.csharp.frameworks.ServiceStack
private import semmle.code.csharp.frameworks.Sql
private import semmle.code.csharp.frameworks.EntityFramework
private import semmle.code.csharp.frameworks.system.Text
}
/**
@@ -262,7 +263,7 @@ module CsvValidation {
not name.regexpMatch("[a-zA-Z0-9_<>,]*") and
msg = "Dubious member name \"" + name + "\" in " + pred + " model."
or
not signature.regexpMatch("|\\([a-zA-Z0-9_<>\\.\\+,\\[\\]]*\\)") and
not signature.regexpMatch("|\\([a-zA-Z0-9_<>\\.\\+\\*,\\[\\]]*\\)") and
msg = "Dubious signature \"" + signature + "\" in " + pred + " model."
or
not ext.regexpMatch("|Attribute") and

View File

@@ -535,207 +535,8 @@ class SystemIOStringReaderFlow extends LibraryTypeDataFlow, SystemIOStringReader
}
}
/** Data flow for `System.String`. */
class SystemStringFlow extends LibraryTypeDataFlow, SystemStringClass {
override predicate callableFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationCallable c, boolean preservesValue
) {
this.constructorFlow(source, sourceAp, sink, sinkAp, c) and
preservesValue = false
or
this.methodFlow(source, sourceAp, sink, sinkAp, c, preservesValue)
}
private predicate constructorFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
Constructor c
) {
c = this.getAMember() and
c.getParameter(0).getType().(ArrayType).getElementType() instanceof CharType and
source = TCallableFlowSourceArg(0) and
sourceAp = AccessPath::element() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
}
private predicate methodFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationMethod m, boolean preservesValue
) {
m = this.getAMethod("ToString") and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = true
or
m = this.getSplitMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::element() and
preservesValue = false
or
m = this.getReplaceMethod() and
sourceAp = AccessPath::empty() and
sinkAp = AccessPath::empty() and
(
source = TCallableFlowSourceQualifier() and
sink = TCallableFlowSinkReturn() and
preservesValue = false
or
source = TCallableFlowSourceArg(1) and
sink = TCallableFlowSinkReturn() and
preservesValue = false
)
or
m = this.getSubstringMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
m = this.getCloneMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = true
or
m = this.getInsertMethod() and
sourceAp = AccessPath::empty() and
sinkAp = AccessPath::empty() and
(
source = TCallableFlowSourceQualifier() and
sink = TCallableFlowSinkReturn() and
preservesValue = false
or
source = TCallableFlowSourceArg(1) and
sink = TCallableFlowSinkReturn() and
preservesValue = false
)
or
m = this.getNormalizeMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
m = this.getRemoveMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
m = this.getAMethod() and
m.getName().regexpMatch("((ToLower|ToUpper)(Invariant)?)|(Trim(Start|End)?)|(Pad(Left|Right))") and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
m = this.getConcatMethod() and
exists(int i |
source = getFlowSourceArg(m, i, sourceAp) and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
)
or
m = this.getCopyMethod() and
source = TCallableFlowSourceArg(0) and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = true
or
m = this.getJoinMethod() and
source = getFlowSourceArg(m, [0, 1], sourceAp) and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
m = this.getFormatMethod() and
exists(int i |
(m.getParameter(0).getType() instanceof SystemIFormatProviderInterface implies i != 0) and
source = getFlowSourceArg(m, i, sourceAp) and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
)
}
}
/** Data flow for `System.Text.StringBuilder`. */
class SystemTextStringBuilderFlow extends LibraryTypeDataFlow, SystemTextStringBuilderClass {
override predicate callableFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationCallable c, boolean preservesValue
) {
(
this.constructorFlow(source, sourceAp, sink, sinkAp, c) and
preservesValue = true
or
this.methodFlow(source, sourceAp, sink, sinkAp, c, preservesValue)
)
}
private predicate constructorFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
Constructor c
) {
c = this.getAMember() and
c.getParameter(0).getType() instanceof StringType and
source = TCallableFlowSourceArg(0) and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::element()
}
private predicate methodFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationMethod m, boolean preservesValue
) {
exists(string name | m = this.getAMethod() and m.hasUndecoratedName(name) |
name = "ToString" and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::element() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty() and
preservesValue = false
or
name.regexpMatch("Append(Format|Line|Join)?") and
preservesValue = true and
(
exists(int i, Type t |
t = m.getParameter(i).getType() and
source = TCallableFlowSourceArg(i) and
sink = TCallableFlowSinkQualifier() and
sinkAp = AccessPath::element()
|
(
t instanceof StringType or
t instanceof ObjectType
) and
sourceAp = AccessPath::empty()
or
isCollectionType(t) and
sourceAp = AccessPath::element()
)
or
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
)
)
}
override predicate clearsContent(
CallableFlowSource source, Content content, SourceDeclarationCallable callable
) {
@@ -745,74 +546,6 @@ class SystemTextStringBuilderFlow extends LibraryTypeDataFlow, SystemTextStringB
}
}
/** Data flow for `System.Lazy<>`. */
class SystemLazyFlow extends LibraryTypeDataFlow, SystemLazyClass {
override predicate callableFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationCallable c, boolean preservesValue
) {
preservesValue = true and
exists(SystemFuncDelegateType t, int i | t.getNumberOfTypeParameters() = 1 |
c.(Constructor).getDeclaringType() = this and
c.getParameter(i).getType().getUnboundDeclaration() = t and
source = getDelegateFlowSourceArg(c, i) and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::property(this.getValueProperty())
)
or
preservesValue = false and
c = this.getValueProperty().getGetter() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
}
}
/** Data flow for `System.Nullable<>`. */
class SystemNullableFlow extends LibraryTypeDataFlow, SystemNullableStruct {
override predicate callableFlow(
CallableFlowSource source, AccessPath sourceAp, CallableFlowSink sink, AccessPath sinkAp,
SourceDeclarationCallable c, boolean preservesValue
) {
preservesValue = true and
c.(Constructor).getDeclaringType() = this and
source = getFlowSourceArg(c, 0, sourceAp) and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::property(this.getValueProperty())
or
preservesValue = true and
c = this.getAGetValueOrDefaultMethod() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::property(this.getValueProperty()) and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
or
preservesValue = false and
c = this.getHasValueProperty().getGetter() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::property(this.getValueProperty()) and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
or
preservesValue = true and
c = this.getAGetValueOrDefaultMethod() and
source = getFlowSourceArg(c, 0, _) and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
or
preservesValue = false and
c = this.getValueProperty().getGetter() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
}
}
/** Data flow for `System.Collections.IEnumerable` (and sub types). */
class IEnumerableFlow extends LibraryTypeDataFlow, RefType {
IEnumerableFlow() { this.getABaseType*() instanceof SystemCollectionsIEnumerableInterface }
@@ -1597,25 +1330,6 @@ class IDictionaryFlow extends LibraryTypeDataFlow, RefType {
}
}
/** Data flow for `System.Convert`. */
class SystemConvertFlow extends LibraryTypeDataFlow, SystemConvertClass {
override predicate callableFlow(
CallableFlowSource source, CallableFlowSink sink, SourceDeclarationCallable c,
boolean preservesValue
) {
this.methodFlow(source, sink, c) and
preservesValue = false
}
private predicate methodFlow(
CallableFlowSource source, CallableFlowSink sink, SourceDeclarationMethod m
) {
m = this.getAMethod() and
source = TCallableFlowSourceArg(0) and
sink = TCallableFlowSinkReturn()
}
}
/** Data flow for `System.Web.HttpCookie`. */
class SystemWebHttpCookieFlow extends LibraryTypeDataFlow, SystemWebHttpCookie {
override predicate callableFlow(

View File

@@ -111,6 +111,342 @@ class SystemConvertClass extends SystemClass {
SystemConvertClass() { this.hasName("Convert") }
}
/** Data flow for `System.Convert`. */
private class SystemConvertFlowModelCsv extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint",
"System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint",
"System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];Element of ReturnValue;taint",
"System;Convert;false;FromBase64String;(System.String);;Argument[0];Element of ReturnValue;taint",
"System;Convert;false;FromHexString;(System.ReadOnlySpan<System.Char>);;Element of Argument[0];Element of ReturnValue;taint",
"System;Convert;false;FromHexString;(System.String);;Argument[0];Element of ReturnValue;taint",
"System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[3];taint",
"System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];Element of Argument[3];taint",
"System;Convert;false;ToBase64String;(System.Byte[]);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBase64String;(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToHexString;(System.Byte[]);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToHexString;(System.ReadOnlySpan<System.Byte>);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint",
"System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint",
"System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Element of Argument[1];taint",
"System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Argument[2];taint",
"System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];ReturnValue;taint",
"System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Element of Argument[1];taint",
"System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Argument[2];taint",
"System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint",
"System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[1];taint",
"System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Argument[2];taint",
]
}
}
/** `System.Delegate` class. */
class SystemDelegateClass extends SystemClass {
SystemDelegateClass() { this.hasName("Delegate") }
@@ -257,6 +593,19 @@ class SystemLazyClass extends SystemUnboundGenericClass {
}
}
/** Data flow for `System.Lazy<>`. */
private class SystemLazyFlowModelCsv extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"System;Lazy<>;false;Lazy;(System.Func<T>);;ReturnValue of Argument[0];Property[System.Lazy<>.Value] of ReturnValue;value",
"System;Lazy<>;false;Lazy;(System.Func<T>,System.Boolean);;ReturnValue of Argument[0];Property[System.Lazy<>.Value] of ReturnValue;value",
"System;Lazy<>;false;Lazy;(System.Func<T>,System.Threading.LazyThreadSafetyMode);;ReturnValue of Argument[0];Property[System.Lazy<>.Value] of ReturnValue;value",
"System;Lazy<>;false;get_Value;();;Argument[-1];ReturnValue;taint",
]
}
}
/** The `System.Nullable<T>` struct. */
class SystemNullableStruct extends SystemUnboundGenericStruct {
SystemNullableStruct() {
@@ -286,6 +635,21 @@ class SystemNullableStruct extends SystemUnboundGenericStruct {
}
}
/** Data flow for `System.Nullable<>`. */
private class SystemNullableFlowModelCsv extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"System;Nullable<>;false;GetValueOrDefault;();;Property[System.Nullable<>.Value] of Argument[-1];ReturnValue;value",
"System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value",
"System;Nullable<>;false;GetValueOrDefault;(T);;Property[System.Nullable<>.Value] of Argument[-1];ReturnValue;value",
"System;Nullable<>;false;Nullable;(T);;Argument[0];Property[System.Nullable<>.Value] of ReturnValue;value",
"System;Nullable<>;false;get_HasValue;();;Property[System.Nullable<>.Value] of Argument[-1];ReturnValue;taint",
"System;Nullable<>;false;get_Value;();;Argument[-1];ReturnValue;taint",
]
}
}
/** The `System.NullReferenceException` class. */
class SystemNullReferenceExceptionClass extends SystemClass {
SystemNullReferenceExceptionClass() { this.hasName("NullReferenceException") }
@@ -492,6 +856,132 @@ class SystemStringClass extends StringType {
}
}
/** Data flow for `System.String`. */
private class SystemStringFlowModelCsv extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"System;String;false;Clone;();;Argument[-1];ReturnValue;value",
"System;String;false;Concat;(System.Collections.Generic.IEnumerable<System.String>);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Concat;(System.Object[]);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint",
"System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[3];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint",
"System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint",
"System;String;false;Concat;(System.String[]);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Concat<>;(System.Collections.Generic.IEnumerable<T>);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Element of Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint",
"System;String;false;Format;(System.String,System.Object[]);;Element of Argument[1];ReturnValue;taint",
"System;String;false;GetEnumerator;();;Element of Argument[-1];Property[System.CharEnumerator.Current] of ReturnValue;value",
"System;String;false;GetEnumerator;();;Element of Argument[-1];Property[System.Collections.Generic.IEnumerator<>.Current] of ReturnValue;value",
"System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint",
"System;String;false;Insert;(System.Int32,System.String);;Argument[-1];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.Object[]);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.String[]);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable<System.String>);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable<System.String>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.String,System.Object[]);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.String,System.String[]);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint",
"System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Argument[0];ReturnValue;taint",
"System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Argument[0];ReturnValue;taint",
"System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];ReturnValue;taint",
"System;String;false;Normalize;();;Argument[-1];ReturnValue;taint",
"System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[-1];ReturnValue;taint",
"System;String;false;PadLeft;(System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;PadLeft;(System.Int32,System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;PadRight;(System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;PadRight;(System.Int32,System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;Remove;(System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;Remove;(System.Int32,System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint",
"System;String;false;Replace;(System.Char,System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint",
"System;String;false;Replace;(System.String,System.String);;Argument[-1];ReturnValue;taint",
"System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.Char[]);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.Char[],System.Int32);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[-1];Element of ReturnValue;taint",
"System;String;false;String;(System.Char[]);;Element of Argument[0];ReturnValue;taint",
"System;String;false;String;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint",
"System;String;false;Substring;(System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;Substring;(System.Int32,System.Int32);;Argument[-1];ReturnValue;taint",
"System;String;false;ToLower;();;Argument[-1];ReturnValue;taint",
"System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[-1];ReturnValue;taint",
"System;String;false;ToLowerInvariant;();;Argument[-1];ReturnValue;taint",
"System;String;false;ToString;();;Argument[-1];ReturnValue;value",
"System;String;false;ToString;(System.IFormatProvider);;Argument[-1];ReturnValue;value",
"System;String;false;ToUpper;();;Argument[-1];ReturnValue;taint",
"System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[-1];ReturnValue;taint",
"System;String;false;ToUpperInvariant;();;Argument[-1];ReturnValue;taint",
"System;String;false;Trim;();;Argument[-1];ReturnValue;taint",
"System;String;false;Trim;(System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;Trim;(System.Char[]);;Argument[-1];ReturnValue;taint",
"System;String;false;TrimEnd;();;Argument[-1];ReturnValue;taint",
"System;String;false;TrimEnd;(System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;TrimEnd;(System.Char[]);;Argument[-1];ReturnValue;taint",
"System;String;false;TrimStart;();;Argument[-1];ReturnValue;taint",
"System;String;false;TrimStart;(System.Char);;Argument[-1];ReturnValue;taint",
"System;String;false;TrimStart;(System.Char[]);;Argument[-1];ReturnValue;taint",
]
}
}
/** A `ToString()` method. */
class ToStringMethod extends Method {
ToStringMethod() { this = any(SystemObjectClass c).getToStringMethod().getAnOverrider*() }

View File

@@ -2,6 +2,7 @@
import csharp
private import semmle.code.csharp.frameworks.System
private import semmle.code.csharp.dataflow.ExternalFlow
/** The `System.Text` namespace. */
class SystemTextNamespace extends Namespace {
@@ -24,6 +25,97 @@ class SystemTextStringBuilderClass extends SystemTextClass {
Method getAppendFormatMethod() { result = this.getAMethod("AppendFormat") }
}
/** Data flow for `System.Text.StringBuilder`. */
private class SystemTextStringBuilderFlowModelCsv extends SummaryModelCsv {
override predicate row(string row) {
row =
[
"System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Byte);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char[]);;Element of Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Double);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Int16);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Int64);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;Append;(System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory<System.Char>);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.ReadOnlySpan<System.Char>);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.SByte);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Single);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;Append;(System.String);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Element of Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable<T>);;Element of Argument[1];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendLine;();;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Element of Argument[-1];value",
"System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[-1];ReturnValue;value",
"System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];Element of ReturnValue;value",
"System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];Element of ReturnValue;value",
"System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];Element of ReturnValue;value",
"System.Text;StringBuilder;false;ToString;();;Element of Argument[-1];ReturnValue;taint",
"System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Element of Argument[-1];ReturnValue;taint",
]
}
}
/** The `System.Text.Encoding` class. */
class SystemTextEncodingClass extends SystemTextClass {
SystemTextEncodingClass() { this.hasName("Encoding") }

View File

@@ -2343,19 +2343,21 @@
| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint |
| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint |
| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromHexString;(System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromBase64String;(System.String);;Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromHexString;(System.ReadOnlySpan<System.Char>);;Element of Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromHexString;(System.String);;Argument[0];Element of ReturnValue;taint |
| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint |
| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];Element of Argument[3];taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[3];taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[]);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint |
@@ -2465,9 +2467,9 @@
| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.ReadOnlySpan<System.Byte>);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[]);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.ReadOnlySpan<System.Byte>);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint |
@@ -2655,9 +2657,15 @@
| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Argument[2];taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Argument[2];taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Argument[2];taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider);;Element of Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint |
@@ -2690,15 +2698,15 @@
| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.Object[]);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[3];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[3];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint |

View File

@@ -2017,19 +2017,21 @@
| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint |
| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint |
| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromHexString;(System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue;taint |
| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Element of Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromBase64String;(System.String);;Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromHexString;(System.ReadOnlySpan<System.Char>);;Element of Argument[0];Element of ReturnValue;taint |
| System;Convert;false;FromHexString;(System.String);;Argument[0];Element of ReturnValue;taint |
| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint |
| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];Element of Argument[3];taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[3];taint |
| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[]);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBase64String;(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint |
@@ -2139,9 +2141,9 @@
| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.ReadOnlySpan<System.Byte>);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[]);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToHexString;(System.ReadOnlySpan<System.Byte>);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint |
@@ -2329,9 +2331,15 @@
| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint |
| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Argument[2];taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32);;Element of Argument[0];ReturnValue;taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Argument[2];taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryFromBase64String;(System.String,System.Span<System.Byte>,System.Int32);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Argument[0];ReturnValue;taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Argument[2];taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];Element of Argument[1];taint |
| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions);;Element of Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider);;Element of Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint |
| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint |
@@ -2364,15 +2372,15 @@
| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.Object[]);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Argument[3];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[2];ReturnValue;taint |
| System;String;false;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);;Element of Argument[3];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint |
| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint |