1 instantiation of SinkInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PooledHashSetExtensions.cs (1)
44SinkInfo sinkInfo = new SinkInfo(
76 references to SinkInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (76)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\DllSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data Dll sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var sinkInfosBuilder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\FilePathInjectionSinks.cs (4)
13/// <see cref="SinkInfo"/>s for tainted data file canonicalization sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19PooledHashSet<SinkInfo> builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data process symmetric algorithm sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedEncryptionKeySinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data process symmetric algorithm sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data LDAP injection sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PooledHashSetExtensions.cs (3)
17this PooledHashSet<SinkInfo> builder, 36this PooledHashSet<SinkInfo> builder, 44SinkInfo sinkInfo = new SinkInfo(
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ProcessCommandSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data process command sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RedirectSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data Redirect injection sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RegexSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data process command sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SinkInfo.cs (4)
16internal sealed class SinkInfo : ITaintedDataInfo, IEquatable<SinkInfo> 59/// Indicates that this <see cref="SinkInfo"/> uses <see cref="ValueContentAbstractValue"/>s. 87return obj is SinkInfo other && this.Equals(other); 90public bool Equals(SinkInfo other)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SqlSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data SQL sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var sinkInfosBuilder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.cs (2)
36TaintedDataSymbolMap<SinkInfo> taintedSinkInfos) 51TaintedDataSymbolMap<SinkInfo> taintedSinkInfos,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (4)
564IEnumerable<SinkInfo>? infosForType = this.DataFlowAnalysisContext.SinkInfos.GetInfosForType(targetMethod.ContainingType); 682private static bool IsMethodArgumentASink(IMethodSymbol method, IEnumerable<SinkInfo> infosForType, IArgumentOperation taintedArgument, [NotNullWhen(returnValue: true)] out HashSet<SinkKind>? sinkKinds) 686foreach (SinkInfo sinkInfo in infosForType) 727foreach (SinkInfo sinkInfo in this.DataFlowAnalysisContext.SinkInfos.GetInfosForType(propertyReferenceOperation.Member.ContainingType))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysisContext.cs (3)
39TaintedDataSymbolMap<SinkInfo> taintedSinkInfos) 79TaintedDataSymbolMap<SinkInfo> taintedSinkInfos) 142public TaintedDataSymbolMap<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataConfig.cs (18)
68private ImmutableDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SinkInfo>>> SinkSymbolMap { get; } 84ImmutableDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SinkInfo>>> sinkSymbolMap) 99using PooledDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SinkInfo>>> sinkSymbolMapBuilder = 100PooledDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SinkInfo>>>.GetInstance(); 110using PooledDictionary<(ImmutableHashSet<SourceInfo> SourceInfos, ImmutableHashSet<SanitizerInfo> SanitizerInfos), (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos)> sourceSanitizersToSinks = 111PooledDictionary<(ImmutableHashSet<SourceInfo> SourceInfos, ImmutableHashSet<SanitizerInfo> SanitizerInfos), (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos)>.GetInstance(); 138ImmutableHashSet<SinkInfo> sinks = GetSinkInfos(sinkKind); 139if (!sourceSanitizersToSinks.TryGetValue((sources, sanitizers), out (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos) sinksPair)) 141sinksPair = (ImmutableHashSet.CreateBuilder<SinkKind>(), ImmutableHashSet.CreateBuilder<SinkInfo>()); 149foreach (KeyValuePair<(ImmutableHashSet<SourceInfo> SourceInfos, ImmutableHashSet<SanitizerInfo> SanitizerInfos), (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos)> kvp in sourceSanitizersToSinks) 151ImmutableHashSet<SinkInfo> sinks = kvp.Value.SinkInfos.ToImmutable(); 152Lazy<TaintedDataSymbolMap<SinkInfo>> lazySinkSymbolMap = new Lazy<TaintedDataSymbolMap<SinkInfo>>( 153() => { return new TaintedDataSymbolMap<SinkInfo>(wellKnownTypeProvider, sinks); }, 178public TaintedDataSymbolMap<SinkInfo> GetSinkSymbolMap(SinkKind sinkKind) 180return this.GetFromMap<SinkInfo>(sinkKind, this.SinkSymbolMap); 314private static ImmutableHashSet<SinkInfo> GetSinkInfos(SinkKind sinkKind) 363return ImmutableHashSet<SinkInfo>.Empty;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebOutputSinks.cs (2)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 20var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XamlSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data XAML injection sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data Xml injection sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XPathSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data XPath injection sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSinks.cs (3)
13/// <see cref="SinkInfo"/>s for tainted data zip slip sinks. 15public static ImmutableHashSet<SinkInfo> SinkInfos { get; } 19var builder = PooledHashSet<SinkInfo>.GetInstance();