mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
Merge branch 'main' into amammad-go-bombs
This commit is contained in:
@@ -29,6 +29,7 @@ provide:
|
||||
- "swift/extractor-pack/codeql-extractor.yml"
|
||||
- "swift/integration-tests/qlpack.yml"
|
||||
- "ql/extractor-pack/codeql-extractor.yml"
|
||||
- ".github/codeql/extensions/**/codeql-pack.yml"
|
||||
|
||||
versionPolicies:
|
||||
default:
|
||||
|
||||
2231
cpp/downgrades/8cba93a44180e0d50a80a660950800d822b981fc/old.dbscheme
Normal file
2231
cpp/downgrades/8cba93a44180e0d50a80a660950800d822b981fc/old.dbscheme
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
description: Removed @assignpaddexpr and @assignpsubexpr from @assign_bitwise_expr
|
||||
compatibility: full
|
||||
@@ -1,3 +1,18 @@
|
||||
## 0.11.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* The `Container` and `Folder` classes now derive from `ElementBase` instead of `Locatable`, and no longer expose the `getLocation` predicate. Use `getURL` instead.
|
||||
|
||||
### New Features
|
||||
|
||||
* Added a new class `AdditionalCallTarget` for specifying additional call targets.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* More field accesses are identified as `ImplicitThisFieldAccess`.
|
||||
* Added support for new floating-point types in C23 and C++23.
|
||||
|
||||
## 0.10.1
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Added support for new floating-point types in C23 and C++23.
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: feature
|
||||
---
|
||||
* Added a new class `AdditionalCallTarget` for specifying additional call targets.
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* More field accesses are identified as `ImplicitThisFieldAccess`.
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: breaking
|
||||
---
|
||||
* The `Container` and `Folder` classes now derive from `ElementBase` instead of `Locatable`, and no longer expose the `getLocation` predicate. Use `getURL` instead.
|
||||
4
cpp/ql/lib/change-notes/2023-10-30-realloc-flow.md
Normal file
4
cpp/ql/lib/change-notes/2023-10-30-realloc-flow.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Added taint models for `realloc` and related functions.
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: breaking
|
||||
---
|
||||
* The expressions `AssignPointerAddExpr` and `AssignPointerSubExpr` are no longer subtypes of `AssignBitwiseOperation`.
|
||||
14
cpp/ql/lib/change-notes/released/0.11.0.md
Normal file
14
cpp/ql/lib/change-notes/released/0.11.0.md
Normal file
@@ -0,0 +1,14 @@
|
||||
## 0.11.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* The `Container` and `Folder` classes now derive from `ElementBase` instead of `Locatable`, and no longer expose the `getLocation` predicate. Use `getURL` instead.
|
||||
|
||||
### New Features
|
||||
|
||||
* Added a new class `AdditionalCallTarget` for specifying additional call targets.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* More field accesses are identified as `ImplicitThisFieldAccess`.
|
||||
* Added support for new floating-point types in C23 and C++23.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 0.10.1
|
||||
lastReleaseVersion: 0.11.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/cpp-all
|
||||
version: 0.10.2-dev
|
||||
version: 0.11.1-dev
|
||||
groups: cpp
|
||||
dbscheme: semmlecode.cpp.dbscheme
|
||||
extractor: cpp
|
||||
|
||||
@@ -44,11 +44,12 @@ private newtype TIRDataFlowNode =
|
||||
TIndirectArgumentOutNode(ArgumentOperand operand, int indirectionIndex) {
|
||||
Ssa::isModifiableByCall(operand, indirectionIndex)
|
||||
} or
|
||||
TRawIndirectOperand(Operand op, int indirectionIndex) {
|
||||
Ssa::hasRawIndirectOperand(op, indirectionIndex)
|
||||
TRawIndirectOperand0(Node0Impl node, int indirectionIndex) {
|
||||
Ssa::hasRawIndirectOperand(node.asOperand(), indirectionIndex)
|
||||
} or
|
||||
TRawIndirectInstruction(Instruction instr, int indirectionIndex) {
|
||||
Ssa::hasRawIndirectInstruction(instr, indirectionIndex)
|
||||
TRawIndirectInstruction0(Node0Impl node, int indirectionIndex) {
|
||||
not exists(node.asOperand()) and
|
||||
Ssa::hasRawIndirectInstruction(node.asInstruction(), indirectionIndex)
|
||||
} or
|
||||
TFinalParameterNode(Parameter p, int indirectionIndex) {
|
||||
exists(Ssa::FinalParameterUse use |
|
||||
@@ -918,48 +919,146 @@ Type getTypeImpl(Type t, int indirectionIndex) {
|
||||
result instanceof UnknownType
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an operand in the IR
|
||||
* after `index` number of loads.
|
||||
*/
|
||||
class RawIndirectOperand extends Node, TRawIndirectOperand {
|
||||
Operand operand;
|
||||
int indirectionIndex;
|
||||
private module RawIndirectNodes {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an operand in the IR
|
||||
* after `index` number of loads.
|
||||
*/
|
||||
private class RawIndirectOperand0 extends Node, TRawIndirectOperand0 {
|
||||
Node0Impl node;
|
||||
int indirectionIndex;
|
||||
|
||||
RawIndirectOperand() { this = TRawIndirectOperand(operand, indirectionIndex) }
|
||||
RawIndirectOperand0() { this = TRawIndirectOperand0(node, indirectionIndex) }
|
||||
|
||||
/** Gets the underlying instruction. */
|
||||
Operand getOperand() { result = operand }
|
||||
/** Gets the underlying instruction. */
|
||||
Operand getOperand() { result = node.asOperand() }
|
||||
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
|
||||
override Declaration getFunction() { result = this.getOperand().getDef().getEnclosingFunction() }
|
||||
override Declaration getFunction() {
|
||||
result = this.getOperand().getDef().getEnclosingFunction()
|
||||
}
|
||||
|
||||
override Declaration getEnclosingCallable() { result = this.getFunction() }
|
||||
override Declaration getEnclosingCallable() { result = this.getFunction() }
|
||||
|
||||
override DataFlowType getType() {
|
||||
exists(int sub, DataFlowType type, boolean isGLValue |
|
||||
type = getOperandType(operand, isGLValue) and
|
||||
if isGLValue = true then sub = 1 else sub = 0
|
||||
|
|
||||
result = getTypeImpl(type.getUnspecifiedType(), indirectionIndex - sub)
|
||||
)
|
||||
override DataFlowType getType() {
|
||||
exists(int sub, DataFlowType type, boolean isGLValue |
|
||||
type = getOperandType(this.getOperand(), isGLValue) and
|
||||
if isGLValue = true then sub = 1 else sub = 0
|
||||
|
|
||||
result = getTypeImpl(type.getUnspecifiedType(), indirectionIndex - sub)
|
||||
)
|
||||
}
|
||||
|
||||
final override Location getLocationImpl() {
|
||||
if exists(this.getOperand().getLocation())
|
||||
then result = this.getOperand().getLocation()
|
||||
else result instanceof UnknownDefaultLocation
|
||||
}
|
||||
|
||||
override string toStringImpl() {
|
||||
result = operandNode(this.getOperand()).toStringImpl() + " indirection"
|
||||
}
|
||||
}
|
||||
|
||||
final override Location getLocationImpl() {
|
||||
if exists(this.getOperand().getLocation())
|
||||
then result = this.getOperand().getLocation()
|
||||
else result instanceof UnknownDefaultLocation
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an instruction in the IR
|
||||
* after `index` number of loads.
|
||||
*/
|
||||
private class RawIndirectInstruction0 extends Node, TRawIndirectInstruction0 {
|
||||
Node0Impl node;
|
||||
int indirectionIndex;
|
||||
|
||||
RawIndirectInstruction0() { this = TRawIndirectInstruction0(node, indirectionIndex) }
|
||||
|
||||
/** Gets the underlying instruction. */
|
||||
Instruction getInstruction() { result = node.asInstruction() }
|
||||
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
|
||||
override Declaration getFunction() { result = this.getInstruction().getEnclosingFunction() }
|
||||
|
||||
override Declaration getEnclosingCallable() { result = this.getFunction() }
|
||||
|
||||
override DataFlowType getType() {
|
||||
exists(int sub, DataFlowType type, boolean isGLValue |
|
||||
type = getInstructionType(this.getInstruction(), isGLValue) and
|
||||
if isGLValue = true then sub = 1 else sub = 0
|
||||
|
|
||||
result = getTypeImpl(type.getUnspecifiedType(), indirectionIndex - sub)
|
||||
)
|
||||
}
|
||||
|
||||
final override Location getLocationImpl() {
|
||||
if exists(this.getInstruction().getLocation())
|
||||
then result = this.getInstruction().getLocation()
|
||||
else result instanceof UnknownDefaultLocation
|
||||
}
|
||||
|
||||
override string toStringImpl() {
|
||||
result = instructionNode(this.getInstruction()).toStringImpl() + " indirection"
|
||||
}
|
||||
}
|
||||
|
||||
override string toStringImpl() {
|
||||
result = operandNode(this.getOperand()).toStringImpl() + " indirection"
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an operand in the IR
|
||||
* after a number of loads.
|
||||
*/
|
||||
class RawIndirectOperand extends Node {
|
||||
int indirectionIndex;
|
||||
Operand operand;
|
||||
|
||||
RawIndirectOperand() {
|
||||
exists(Node0Impl node | operand = node.asOperand() |
|
||||
this = TRawIndirectOperand0(node, indirectionIndex)
|
||||
or
|
||||
this = TRawIndirectInstruction0(node, indirectionIndex)
|
||||
)
|
||||
}
|
||||
|
||||
/** Gets the operand associated with this node. */
|
||||
Operand getOperand() { result = operand }
|
||||
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an instruction in the IR
|
||||
* after a number of loads.
|
||||
*/
|
||||
class RawIndirectInstruction extends Node {
|
||||
int indirectionIndex;
|
||||
Instruction instr;
|
||||
|
||||
RawIndirectInstruction() {
|
||||
exists(Node0Impl node | instr = node.asInstruction() |
|
||||
this = TRawIndirectOperand0(node, indirectionIndex)
|
||||
or
|
||||
this = TRawIndirectInstruction0(node, indirectionIndex)
|
||||
)
|
||||
}
|
||||
|
||||
/** Gets the instruction associated with this node. */
|
||||
Instruction getInstruction() { result = instr }
|
||||
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
}
|
||||
}
|
||||
|
||||
import RawIndirectNodes
|
||||
|
||||
/**
|
||||
* INTERNAL: do not use.
|
||||
*
|
||||
@@ -1021,48 +1120,6 @@ class UninitializedNode extends Node {
|
||||
LocalVariable getLocalVariable() { result = v }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* A node that represents the indirect value of an instruction in the IR
|
||||
* after `index` number of loads.
|
||||
*/
|
||||
class RawIndirectInstruction extends Node, TRawIndirectInstruction {
|
||||
Instruction instr;
|
||||
int indirectionIndex;
|
||||
|
||||
RawIndirectInstruction() { this = TRawIndirectInstruction(instr, indirectionIndex) }
|
||||
|
||||
/** Gets the underlying instruction. */
|
||||
Instruction getInstruction() { result = instr }
|
||||
|
||||
/** Gets the underlying indirection index. */
|
||||
int getIndirectionIndex() { result = indirectionIndex }
|
||||
|
||||
override Declaration getFunction() { result = this.getInstruction().getEnclosingFunction() }
|
||||
|
||||
override Declaration getEnclosingCallable() { result = this.getFunction() }
|
||||
|
||||
override DataFlowType getType() {
|
||||
exists(int sub, DataFlowType type, boolean isGLValue |
|
||||
type = getInstructionType(instr, isGLValue) and
|
||||
if isGLValue = true then sub = 1 else sub = 0
|
||||
|
|
||||
result = getTypeImpl(type.getUnspecifiedType(), indirectionIndex - sub)
|
||||
)
|
||||
}
|
||||
|
||||
final override Location getLocationImpl() {
|
||||
if exists(this.getInstruction().getLocation())
|
||||
then result = this.getInstruction().getLocation()
|
||||
else result instanceof UnknownDefaultLocation
|
||||
}
|
||||
|
||||
override string toStringImpl() {
|
||||
result = instructionNode(this.getInstruction()).toStringImpl() + " indirection"
|
||||
}
|
||||
}
|
||||
|
||||
private module GetConvertedResultExpression {
|
||||
private import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr
|
||||
private import semmle.code.cpp.ir.implementation.raw.internal.InstructionTag
|
||||
@@ -1600,26 +1657,29 @@ private module Cached {
|
||||
predicate localFlowStep(Node nodeFrom, Node nodeTo) { simpleLocalFlowStep(nodeFrom, nodeTo) }
|
||||
|
||||
private predicate indirectionOperandFlow(RawIndirectOperand nodeFrom, Node nodeTo) {
|
||||
// Reduce the indirection count by 1 if we're passing through a `LoadInstruction`.
|
||||
exists(int ind, LoadInstruction load |
|
||||
hasOperandAndIndex(nodeFrom, load.getSourceAddressOperand(), ind) and
|
||||
nodeHasInstruction(nodeTo, load, ind - 1)
|
||||
)
|
||||
or
|
||||
// If an operand flows to an instruction, then the indirection of
|
||||
// the operand also flows to the indirection of the instruction.
|
||||
exists(Operand operand, Instruction instr, int indirectionIndex |
|
||||
simpleInstructionLocalFlowStep(operand, instr) and
|
||||
hasOperandAndIndex(nodeFrom, operand, pragma[only_bind_into](indirectionIndex)) and
|
||||
hasInstructionAndIndex(nodeTo, instr, pragma[only_bind_into](indirectionIndex))
|
||||
)
|
||||
or
|
||||
// If there's indirect flow to an operand, then there's also indirect
|
||||
// flow to the operand after applying some pointer arithmetic.
|
||||
exists(PointerArithmeticInstruction pointerArith, int indirectionIndex |
|
||||
hasOperandAndIndex(nodeFrom, pointerArith.getAnOperand(),
|
||||
pragma[only_bind_into](indirectionIndex)) and
|
||||
hasInstructionAndIndex(nodeTo, pointerArith, pragma[only_bind_into](indirectionIndex))
|
||||
nodeFrom != nodeTo and
|
||||
(
|
||||
// Reduce the indirection count by 1 if we're passing through a `LoadInstruction`.
|
||||
exists(int ind, LoadInstruction load |
|
||||
hasOperandAndIndex(nodeFrom, load.getSourceAddressOperand(), ind) and
|
||||
nodeHasInstruction(nodeTo, load, ind - 1)
|
||||
)
|
||||
or
|
||||
// If an operand flows to an instruction, then the indirection of
|
||||
// the operand also flows to the indirection of the instruction.
|
||||
exists(Operand operand, Instruction instr, int indirectionIndex |
|
||||
simpleInstructionLocalFlowStep(operand, instr) and
|
||||
hasOperandAndIndex(nodeFrom, operand, pragma[only_bind_into](indirectionIndex)) and
|
||||
hasInstructionAndIndex(nodeTo, instr, pragma[only_bind_into](indirectionIndex))
|
||||
)
|
||||
or
|
||||
// If there's indirect flow to an operand, then there's also indirect
|
||||
// flow to the operand after applying some pointer arithmetic.
|
||||
exists(PointerArithmeticInstruction pointerArith, int indirectionIndex |
|
||||
hasOperandAndIndex(nodeFrom, pointerArith.getAnOperand(),
|
||||
pragma[only_bind_into](indirectionIndex)) and
|
||||
hasInstructionAndIndex(nodeTo, pointerArith, pragma[only_bind_into](indirectionIndex))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1645,6 +1705,7 @@ private module Cached {
|
||||
private predicate indirectionInstructionFlow(
|
||||
RawIndirectInstruction nodeFrom, IndirectOperand nodeTo
|
||||
) {
|
||||
nodeFrom != nodeTo and
|
||||
// If there's flow from an instruction to an operand, then there's also flow from the
|
||||
// indirect instruction to the indirect operand.
|
||||
exists(Operand operand, Instruction instr, int indirectionIndex |
|
||||
|
||||
@@ -35,6 +35,7 @@ private import implementations.Accept
|
||||
private import implementations.Poll
|
||||
private import implementations.Select
|
||||
private import implementations.MySql
|
||||
private import implementations.ODBC
|
||||
private import implementations.SqLite3
|
||||
private import implementations.PostgreSql
|
||||
private import implementations.System
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
import semmle.code.cpp.models.interfaces.Allocation
|
||||
import semmle.code.cpp.models.interfaces.Taint
|
||||
|
||||
/**
|
||||
* An allocation function (such as `malloc`) that has an argument for the size
|
||||
@@ -121,7 +122,7 @@ private class CallocAllocationFunction extends AllocationFunction {
|
||||
* An allocation function (such as `realloc`) that has an argument for the size
|
||||
* in bytes, and an argument for an existing pointer that is to be reallocated.
|
||||
*/
|
||||
private class ReallocAllocationFunction extends AllocationFunction {
|
||||
private class ReallocAllocationFunction extends AllocationFunction, TaintFunction {
|
||||
int sizeArg;
|
||||
int reallocArg;
|
||||
|
||||
@@ -151,6 +152,10 @@ private class ReallocAllocationFunction extends AllocationFunction {
|
||||
override int getSizeArg() { result = sizeArg }
|
||||
|
||||
override int getReallocPtrArg() { result = reallocArg }
|
||||
|
||||
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
|
||||
input.isParameterDeref(this.getReallocPtrArg()) and output.isReturnValueDeref()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,18 +9,17 @@ import semmle.code.cpp.models.interfaces.DataFlow
|
||||
import semmle.code.cpp.models.interfaces.Alias
|
||||
import semmle.code.cpp.models.interfaces.SideEffect
|
||||
|
||||
/**
|
||||
* The standard function `memset` and its assorted variants
|
||||
*/
|
||||
private class MemsetFunction extends ArrayFunction, DataFlowFunction, AliasFunction,
|
||||
private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, AliasFunction,
|
||||
SideEffectFunction
|
||||
{
|
||||
MemsetFunction() {
|
||||
MemsetFunctionModel() {
|
||||
this.hasGlobalOrStdOrBslName("memset")
|
||||
or
|
||||
this.hasGlobalOrStdName("wmemset")
|
||||
or
|
||||
this.hasGlobalName([bzero(), "__builtin_memset", "__builtin_memset_chk"])
|
||||
this.hasGlobalName([
|
||||
bzero(), "__builtin_memset", "__builtin_memset_chk", "RtlZeroMemory", "RtlSecureZeroMemory"
|
||||
])
|
||||
}
|
||||
|
||||
override predicate hasArrayOutput(int bufParam) { bufParam = 0 }
|
||||
@@ -60,3 +59,8 @@ private class MemsetFunction extends ArrayFunction, DataFlowFunction, AliasFunct
|
||||
}
|
||||
|
||||
private string bzero() { result = ["bzero", "explicit_bzero"] }
|
||||
|
||||
/**
|
||||
* The standard function `memset` and its assorted variants
|
||||
*/
|
||||
class MemsetFunction extends Function instanceof MemsetFunctionModel { }
|
||||
|
||||
28
cpp/ql/lib/semmle/code/cpp/models/implementations/ODBC.qll
Normal file
28
cpp/ql/lib/semmle/code/cpp/models/implementations/ODBC.qll
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Provides implementation classes modeling the ODBC C/C++ API.
|
||||
* See `semmle.code.cpp.models.Models` for usage information.
|
||||
*/
|
||||
|
||||
private import semmle.code.cpp.models.interfaces.Sql
|
||||
private import semmle.code.cpp.models.interfaces.FunctionInputsAndOutputs
|
||||
|
||||
/**
|
||||
* The `SQLExecDirect`, and `SQLPrepare` from the ODBC C/C++ API:
|
||||
* https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlexecdirect-function?view=sql-server-ver16
|
||||
* https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlprepare-function?view=sql-server-ver16
|
||||
*
|
||||
* Note, `SQLExecute` is not included because it operates on a SQLHSTMT type, not a string.
|
||||
* The SQLHSTMT parameter for `SQLExecute` is set through a `SQLPrepare`, which is modeled.
|
||||
* The other source of input to a `SQLExecute` is via a `SQLBindParameter`, which sanitizes user input,
|
||||
* and would be considered a barrier to SQL injection.
|
||||
*/
|
||||
private class ODBCExecutionFunction extends SqlExecutionFunction {
|
||||
ODBCExecutionFunction() { this.hasGlobalName(["SQLExecDirect", "SQLPrepare"]) }
|
||||
|
||||
override predicate hasSqlArgument(FunctionInput input) { input.isParameterDeref(1) }
|
||||
}
|
||||
// NOTE: no need to define a barrier explicitly.
|
||||
// `SQLBindParameter` is the typical means for sanitizing user input.
|
||||
// https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlbindparameter-function?view=sql-server-ver16
|
||||
// First a query is establisehed via `SQLPrepare`, then parameters are bound via `SQLBindParameter`, before
|
||||
// the query is executed via `SQLExecute`. We are not modeling SQLExecute, so we do not need to model SQLBindParameter.
|
||||
@@ -23,6 +23,8 @@ class SemSsaExplicitUpdate extends SemSsaVariable {
|
||||
SemSsaExplicitUpdate() { Specific::explicitUpdate(this, sourceExpr) }
|
||||
|
||||
final SemExpr getSourceExpr() { result = sourceExpr }
|
||||
|
||||
final SemExpr getDefiningExpr() { result = sourceExpr }
|
||||
}
|
||||
|
||||
class SemSsaPhiNode extends SemSsaVariable {
|
||||
|
||||
@@ -1,328 +0,0 @@
|
||||
/**
|
||||
* Provides inferences of the form: `e` equals `b + v` modulo `m` where `e` is
|
||||
* an expression, `b` is a `Bound` (typically zero or the value of an SSA
|
||||
* variable), and `v` is an integer in the range `[0 .. m-1]`.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The main recursion has base cases in both `ssaModulus` (for guarded reads) and `semExprModulus`
|
||||
* (for constant values). The most interesting recursive case is `phiModulusRankStep`, which
|
||||
* handles phi inputs.
|
||||
*/
|
||||
|
||||
private import ModulusAnalysisSpecific::Private
|
||||
private import semmle.code.cpp.rangeanalysis.new.internal.semantic.Semantic
|
||||
private import semmle.code.cpp.rangeanalysis.new.internal.semantic.SemanticLocation
|
||||
private import ConstantAnalysis
|
||||
private import RangeUtils
|
||||
private import codeql.rangeanalysis.RangeAnalysis
|
||||
private import RangeAnalysisImpl
|
||||
|
||||
module ModulusAnalysis<DeltaSig D, BoundSig<SemLocation, Sem, D> Bounds, UtilSig<Sem, D> U> {
|
||||
pragma[nomagic]
|
||||
private predicate valueFlowStepSsaEqFlowCond(
|
||||
SemSsaReadPosition pos, SemSsaVariable v, SemExpr e, int delta
|
||||
) {
|
||||
exists(SemGuard guard, boolean testIsTrue |
|
||||
guard = U::semEqFlowCond(v, e, D::fromInt(delta), true, testIsTrue) and
|
||||
semGuardDirectlyControlsSsaRead(guard, pos, testIsTrue)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `e + delta` equals `v` at `pos`.
|
||||
*/
|
||||
pragma[nomagic]
|
||||
private predicate valueFlowStepSsa(SemSsaVariable v, SemSsaReadPosition pos, SemExpr e, int delta) {
|
||||
U::semSsaUpdateStep(v, e, D::fromInt(delta)) and pos.hasReadOfVar(v)
|
||||
or
|
||||
pos.hasReadOfVar(v) and
|
||||
valueFlowStepSsaEqFlowCond(pos, v, e, delta)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `add` is the addition of `larg` and `rarg`, neither of which are
|
||||
* `ConstantIntegerExpr`s.
|
||||
*/
|
||||
private predicate nonConstAddition(SemExpr add, SemExpr larg, SemExpr rarg) {
|
||||
exists(SemAddExpr a | a = add |
|
||||
larg = a.getLeftOperand() and
|
||||
rarg = a.getRightOperand()
|
||||
) and
|
||||
not larg instanceof SemConstantIntegerExpr and
|
||||
not rarg instanceof SemConstantIntegerExpr
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `sub` is the subtraction of `larg` and `rarg`, where `rarg` is not
|
||||
* a `ConstantIntegerExpr`.
|
||||
*/
|
||||
private predicate nonConstSubtraction(SemExpr sub, SemExpr larg, SemExpr rarg) {
|
||||
exists(SemSubExpr s | s = sub |
|
||||
larg = s.getLeftOperand() and
|
||||
rarg = s.getRightOperand()
|
||||
) and
|
||||
not rarg instanceof SemConstantIntegerExpr
|
||||
}
|
||||
|
||||
/** Gets an expression that is the remainder modulo `mod` of `arg`. */
|
||||
private SemExpr modExpr(SemExpr arg, int mod) {
|
||||
exists(SemRemExpr rem |
|
||||
result = rem and
|
||||
arg = rem.getLeftOperand() and
|
||||
rem.getRightOperand().(SemConstantIntegerExpr).getIntValue() = mod and
|
||||
mod >= 2
|
||||
)
|
||||
or
|
||||
exists(SemConstantIntegerExpr c |
|
||||
mod = 2.pow([1 .. 30]) and
|
||||
c.getIntValue() = mod - 1 and
|
||||
result.(SemBitAndExpr).hasOperands(arg, c)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a guard that tests whether `v` is congruent with `val` modulo `mod` on
|
||||
* its `testIsTrue` branch.
|
||||
*/
|
||||
private SemGuard moduloCheck(SemSsaVariable v, int val, int mod, boolean testIsTrue) {
|
||||
exists(SemExpr rem, SemConstantIntegerExpr c, int r, boolean polarity |
|
||||
result.isEquality(rem, c, polarity) and
|
||||
c.getIntValue() = r and
|
||||
rem = modExpr(v.getAUse(), mod) and
|
||||
(
|
||||
testIsTrue = polarity and val = r
|
||||
or
|
||||
testIsTrue = polarity.booleanNot() and
|
||||
mod = 2 and
|
||||
val = 1 - r and
|
||||
(r = 0 or r = 1)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if a guard ensures that `v` at `pos` is congruent with `val` modulo `mod`.
|
||||
*/
|
||||
private predicate moduloGuardedRead(SemSsaVariable v, SemSsaReadPosition pos, int val, int mod) {
|
||||
exists(SemGuard guard, boolean testIsTrue |
|
||||
pos.hasReadOfVar(v) and
|
||||
guard = moduloCheck(v, val, mod, testIsTrue) and
|
||||
semGuardControlsSsaRead(guard, pos, testIsTrue)
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if `factor` is a power of 2 that divides `mask`. */
|
||||
bindingset[mask]
|
||||
private predicate andmaskFactor(int mask, int factor) {
|
||||
mask % factor = 0 and
|
||||
factor = 2.pow([1 .. 30])
|
||||
}
|
||||
|
||||
/** Holds if `e` is evenly divisible by `factor`. */
|
||||
private predicate evenlyDivisibleExpr(SemExpr e, int factor) {
|
||||
exists(SemConstantIntegerExpr c, int k | k = c.getIntValue() |
|
||||
e.(SemMulExpr).getAnOperand() = c and factor = k.abs() and factor >= 2
|
||||
or
|
||||
e.(SemShiftLeftExpr).getRightOperand() = c and factor = 2.pow(k) and k > 0
|
||||
or
|
||||
e.(SemBitAndExpr).getAnOperand() = c and factor = max(int f | andmaskFactor(k, f))
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the remainder of `val` modulo `mod`.
|
||||
*
|
||||
* For `mod = 0` the result equals `val` and for `mod > 1` the result is within
|
||||
* the range `[0 .. mod-1]`.
|
||||
*/
|
||||
bindingset[val, mod]
|
||||
private int remainder(int val, int mod) {
|
||||
mod = 0 and result = val
|
||||
or
|
||||
mod > 1 and result = ((val % mod) + mod) % mod
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `inp` is an input to `phi` and equals `phi` modulo `mod` along `edge`.
|
||||
*/
|
||||
private predicate phiSelfModulus(
|
||||
SemSsaPhiNode phi, SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge, int mod
|
||||
) {
|
||||
exists(Bounds::SemSsaBound phibound, int v, int m |
|
||||
edge.phiInput(phi, inp) and
|
||||
phibound.getAVariable() = phi and
|
||||
ssaModulus(inp, edge, phibound, v, m) and
|
||||
mod = m.gcd(v) and
|
||||
mod != 1
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `b + val` modulo `mod` is a candidate congruence class for `phi`.
|
||||
*/
|
||||
private predicate phiModulusInit(SemSsaPhiNode phi, Bounds::SemBound b, int val, int mod) {
|
||||
exists(SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge |
|
||||
edge.phiInput(phi, inp) and
|
||||
ssaModulus(inp, edge, b, val, mod)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if all inputs to `phi` numbered `1` to `rix` are equal to `b + val` modulo `mod`.
|
||||
*/
|
||||
pragma[nomagic]
|
||||
private predicate phiModulusRankStep(
|
||||
SemSsaPhiNode phi, Bounds::SemBound b, int val, int mod, int rix
|
||||
) {
|
||||
/*
|
||||
* base case. If any phi input is equal to `b + val` modulo `mod`, that's a potential congruence
|
||||
* class for the phi node.
|
||||
*/
|
||||
|
||||
rix = 0 and
|
||||
phiModulusInit(phi, b, val, mod)
|
||||
or
|
||||
exists(SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge, int v1, int m1 |
|
||||
mod != 1 and
|
||||
val = remainder(v1, mod)
|
||||
|
|
||||
/*
|
||||
* Recursive case. If `inp` = `b + v2` mod `m2`, we combine that with the preceding potential
|
||||
* congruence class `b + v1` mod `m1`. The result will be the congruence class of `v1` modulo
|
||||
* the greatest common denominator of `m1`, `m2`, and `v1 - v2`.
|
||||
*/
|
||||
|
||||
exists(int v2, int m2 |
|
||||
rankedPhiInput(pragma[only_bind_out](phi), inp, edge, rix) and
|
||||
phiModulusRankStep(phi, b, v1, m1, rix - 1) and
|
||||
ssaModulus(inp, edge, b, v2, m2) and
|
||||
mod = m1.gcd(m2).gcd(v1 - v2)
|
||||
)
|
||||
or
|
||||
/*
|
||||
* Recursive case. If `inp` = `phi` mod `m2`, we combine that with the preceding potential
|
||||
* congruence class `b + v1` mod `m1`. The result will be a congruence class modulo the greatest
|
||||
* common denominator of `m1` and `m2`.
|
||||
*/
|
||||
|
||||
exists(int m2 |
|
||||
rankedPhiInput(phi, inp, edge, rix) and
|
||||
phiModulusRankStep(phi, b, v1, m1, rix - 1) and
|
||||
phiSelfModulus(phi, inp, edge, m2) and
|
||||
mod = m1.gcd(m2)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `phi` is equal to `b + val` modulo `mod`.
|
||||
*/
|
||||
private predicate phiModulus(SemSsaPhiNode phi, Bounds::SemBound b, int val, int mod) {
|
||||
exists(int r |
|
||||
maxPhiInputRank(phi, r) and
|
||||
phiModulusRankStep(phi, b, val, mod, r)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `v` at `pos` is equal to `b + val` modulo `mod`.
|
||||
*/
|
||||
private predicate ssaModulus(
|
||||
SemSsaVariable v, SemSsaReadPosition pos, Bounds::SemBound b, int val, int mod
|
||||
) {
|
||||
phiModulus(v, b, val, mod) and pos.hasReadOfVar(v)
|
||||
or
|
||||
b.(Bounds::SemSsaBound).getAVariable() = v and pos.hasReadOfVar(v) and val = 0 and mod = 0
|
||||
or
|
||||
exists(SemExpr e, int val0, int delta |
|
||||
semExprModulus(e, b, val0, mod) and
|
||||
valueFlowStepSsa(v, pos, e, delta) and
|
||||
val = remainder(val0 + delta, mod)
|
||||
)
|
||||
or
|
||||
moduloGuardedRead(v, pos, val, mod) and b instanceof Bounds::SemZeroBound
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `e` is equal to `b + val` modulo `mod`.
|
||||
*
|
||||
* There are two cases for the modulus:
|
||||
* - `mod = 0`: The equality `e = b + val` is an ordinary equality.
|
||||
* - `mod > 1`: `val` lies within the range `[0 .. mod-1]`.
|
||||
*/
|
||||
cached
|
||||
predicate semExprModulus(SemExpr e, Bounds::SemBound b, int val, int mod) {
|
||||
not ignoreExprModulus(e) and
|
||||
(
|
||||
e = b.getExpr(D::fromInt(val)) and mod = 0
|
||||
or
|
||||
evenlyDivisibleExpr(e, mod) and
|
||||
val = 0 and
|
||||
b instanceof Bounds::SemZeroBound
|
||||
or
|
||||
exists(SemSsaVariable v, SemSsaReadPositionBlock bb |
|
||||
ssaModulus(v, bb, b, val, mod) and
|
||||
e = v.getAUse() and
|
||||
bb.getAnExpr() = e
|
||||
)
|
||||
or
|
||||
exists(SemExpr mid, int val0, int delta |
|
||||
semExprModulus(mid, b, val0, mod) and
|
||||
U::semValueFlowStep(e, mid, D::fromInt(delta)) and
|
||||
val = remainder(val0 + delta, mod)
|
||||
)
|
||||
or
|
||||
exists(SemConditionalExpr cond, int v1, int v2, int m1, int m2 |
|
||||
cond = e and
|
||||
condExprBranchModulus(cond, true, b, v1, m1) and
|
||||
condExprBranchModulus(cond, false, b, v2, m2) and
|
||||
mod = m1.gcd(m2).gcd(v1 - v2) and
|
||||
mod != 1 and
|
||||
val = remainder(v1, mod)
|
||||
)
|
||||
or
|
||||
exists(Bounds::SemBound b1, Bounds::SemBound b2, int v1, int v2, int m1, int m2 |
|
||||
addModulus(e, true, b1, v1, m1) and
|
||||
addModulus(e, false, b2, v2, m2) and
|
||||
mod = m1.gcd(m2) and
|
||||
mod != 1 and
|
||||
val = remainder(v1 + v2, mod)
|
||||
|
|
||||
b = b1 and b2 instanceof Bounds::SemZeroBound
|
||||
or
|
||||
b = b2 and b1 instanceof Bounds::SemZeroBound
|
||||
)
|
||||
or
|
||||
exists(int v1, int v2, int m1, int m2 |
|
||||
subModulus(e, true, b, v1, m1) and
|
||||
subModulus(e, false, any(Bounds::SemZeroBound zb), v2, m2) and
|
||||
mod = m1.gcd(m2) and
|
||||
mod != 1 and
|
||||
val = remainder(v1 - v2, mod)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private predicate condExprBranchModulus(
|
||||
SemConditionalExpr cond, boolean branch, Bounds::SemBound b, int val, int mod
|
||||
) {
|
||||
semExprModulus(cond.getBranchExpr(branch), b, val, mod)
|
||||
}
|
||||
|
||||
private predicate addModulus(SemExpr add, boolean isLeft, Bounds::SemBound b, int val, int mod) {
|
||||
exists(SemExpr larg, SemExpr rarg | nonConstAddition(add, larg, rarg) |
|
||||
semExprModulus(larg, b, val, mod) and isLeft = true
|
||||
or
|
||||
semExprModulus(rarg, b, val, mod) and isLeft = false
|
||||
)
|
||||
}
|
||||
|
||||
private predicate subModulus(SemExpr sub, boolean isLeft, Bounds::SemBound b, int val, int mod) {
|
||||
exists(SemExpr larg, SemExpr rarg | nonConstSubtraction(sub, larg, rarg) |
|
||||
semExprModulus(larg, b, val, mod) and isLeft = true
|
||||
or
|
||||
semExprModulus(rarg, b, val, mod) and isLeft = false
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
/**
|
||||
* C++-specific implementation of modulus analysis.
|
||||
*/
|
||||
module Private {
|
||||
private import semmle.code.cpp.rangeanalysis.new.internal.semantic.Semantic
|
||||
|
||||
predicate ignoreExprModulus(SemExpr e) { none() }
|
||||
}
|
||||
@@ -8,14 +8,6 @@ private import RangeAnalysisImpl
|
||||
private import codeql.rangeanalysis.RangeAnalysis
|
||||
|
||||
module CppLangImplConstant implements LangSig<Sem, FloatDelta> {
|
||||
/**
|
||||
* Holds if the specified expression should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadCopy(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Ignore the bound on this expression.
|
||||
*
|
||||
@@ -24,40 +16,6 @@ module CppLangImplConstant implements LangSig<Sem, FloatDelta> {
|
||||
*/
|
||||
predicate ignoreExprBound(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Ignore any inferred zero lower bound on this expression.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreZeroLowerBound(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Holds if the specified expression should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadArithmeticExpr(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Holds if the specified variable should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadAssignment(SemSsaVariable v) { none() }
|
||||
|
||||
/**
|
||||
* Adds additional results to `ssaRead()` that are specific to Java.
|
||||
*
|
||||
* This predicate handles propagation of offsets for post-increment and post-decrement expressions
|
||||
* in exactly the same way as the old Java implementation. Once the new implementation matches the
|
||||
* old one, we should remove this predicate and propagate deltas for all similar patterns, whether
|
||||
* or not they come from a post-increment/decrement expression.
|
||||
*/
|
||||
SemExpr specificSsaRead(SemSsaVariable v, float delta) { none() }
|
||||
|
||||
/**
|
||||
* Holds if `e >= bound` (if `upper = false`) or `e <= bound` (if `upper = true`).
|
||||
*/
|
||||
|
||||
@@ -52,9 +52,21 @@ module Sem implements Semantic {
|
||||
|
||||
class NegateExpr = SemNegateExpr;
|
||||
|
||||
class AddOneExpr = SemAddOneExpr;
|
||||
class PreIncExpr = SemAddOneExpr;
|
||||
|
||||
class SubOneExpr = SemSubOneExpr;
|
||||
class PreDecExpr = SemSubOneExpr;
|
||||
|
||||
class PostIncExpr extends SemUnaryExpr {
|
||||
PostIncExpr() { none() }
|
||||
}
|
||||
|
||||
class PostDecExpr extends SemUnaryExpr {
|
||||
PostDecExpr() { none() }
|
||||
}
|
||||
|
||||
class CopyValueExpr extends SemUnaryExpr {
|
||||
CopyValueExpr() { this instanceof SemCopyValueExpr or this instanceof SemStoreExpr }
|
||||
}
|
||||
|
||||
class ConditionalExpr = SemConditionalExpr;
|
||||
|
||||
@@ -66,6 +78,8 @@ module Sem implements Semantic {
|
||||
|
||||
predicate guardDirectlyControlsSsaRead = semGuardDirectlyControlsSsaRead/3;
|
||||
|
||||
predicate guardControlsSsaRead = semGuardControlsSsaRead/3;
|
||||
|
||||
class Type = SemType;
|
||||
|
||||
class IntegerType = SemIntegerType;
|
||||
@@ -116,7 +130,7 @@ module ConstantBounds implements BoundSig<SemLocation, Sem, FloatDelta> {
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
SemSsaVariable getVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +148,7 @@ module RelativeBounds implements BoundSig<SemLocation, Sem, FloatDelta> {
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
SemSsaVariable getVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,15 +164,15 @@ module AllBounds implements BoundSig<SemLocation, Sem, FloatDelta> {
|
||||
class SemZeroBound extends SemBound instanceof SemanticBound::SemZeroBound { }
|
||||
|
||||
class SemSsaBound extends SemBound instanceof SemanticBound::SemSsaBound {
|
||||
SemSsaVariable getAVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
SemSsaVariable getVariable() { result = this.(SemanticBound::SemSsaBound).getAVariable() }
|
||||
}
|
||||
}
|
||||
|
||||
private module ModulusAnalysisInstantiated implements ModulusAnalysisSig<Sem> {
|
||||
class ModBound = AllBounds::SemBound;
|
||||
|
||||
private import semmle.code.cpp.rangeanalysis.new.internal.semantic.analysis.ModulusAnalysis as MA
|
||||
import MA::ModulusAnalysis<FloatDelta, AllBounds, Util>
|
||||
private import codeql.rangeanalysis.ModulusAnalysis as MA
|
||||
import MA::ModulusAnalysis<SemLocation, Sem, FloatDelta, AllBounds, Util>
|
||||
}
|
||||
|
||||
module Util = RangeUtil<FloatDelta, CppLangImplConstant>;
|
||||
|
||||
@@ -9,14 +9,6 @@ private import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils
|
||||
private import codeql.rangeanalysis.RangeAnalysis
|
||||
|
||||
module CppLangImplRelative implements LangSig<Sem, FloatDelta> {
|
||||
/**
|
||||
* Holds if the specified expression should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadCopy(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Ignore the bound on this expression.
|
||||
*
|
||||
@@ -56,40 +48,6 @@ module CppLangImplRelative implements LangSig<Sem, FloatDelta> {
|
||||
t instanceof SemFloatingPointType and lb = -(1.0 / 0.0) and ub = 1.0 / 0.0
|
||||
}
|
||||
|
||||
/**
|
||||
* Ignore any inferred zero lower bound on this expression.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreZeroLowerBound(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Holds if the specified expression should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadArithmeticExpr(SemExpr e) { none() }
|
||||
|
||||
/**
|
||||
* Holds if the specified variable should be excluded from the result of `ssaRead()`.
|
||||
*
|
||||
* This predicate is to keep the results identical to the original Java implementation. It should be
|
||||
* removed once we have the new implementation matching the old results exactly.
|
||||
*/
|
||||
predicate ignoreSsaReadAssignment(SemSsaVariable v) { none() }
|
||||
|
||||
/**
|
||||
* Adds additional results to `ssaRead()` that are specific to Java.
|
||||
*
|
||||
* This predicate handles propagation of offsets for post-increment and post-decrement expressions
|
||||
* in exactly the same way as the old Java implementation. Once the new implementation matches the
|
||||
* old one, we should remove this predicate and propagate deltas for all similar patterns, whether
|
||||
* or not they come from a post-increment/decrement expression.
|
||||
*/
|
||||
SemExpr specificSsaRead(SemSsaVariable v, float delta) { none() }
|
||||
|
||||
/**
|
||||
* Holds if `e >= bound` (if `upper = false`) or `e <= bound` (if `upper = true`).
|
||||
*/
|
||||
|
||||
@@ -12,33 +12,27 @@ module RangeUtil<DeltaSig D, LangSig<Sem, D> Lang> implements UtilSig<Sem, D> {
|
||||
/**
|
||||
* Gets an expression that equals `v - d`.
|
||||
*/
|
||||
SemExpr semSsaRead(SemSsaVariable v, D::Delta delta) {
|
||||
private SemExpr semSsaRead(SemSsaVariable v, D::Delta delta) {
|
||||
// There are various language-specific extension points that can be removed once we no longer
|
||||
// expect to match the original Java implementation's results exactly.
|
||||
result = v.getAUse() and delta = D::fromInt(0)
|
||||
or
|
||||
exists(D::Delta d1, SemConstantIntegerExpr c |
|
||||
result.(SemAddExpr).hasOperands(semSsaRead(v, d1), c) and
|
||||
delta = D::fromFloat(D::toFloat(d1) - c.getIntValue()) and
|
||||
not Lang::ignoreSsaReadArithmeticExpr(result)
|
||||
delta = D::fromFloat(D::toFloat(d1) - c.getIntValue())
|
||||
)
|
||||
or
|
||||
exists(SemSubExpr sub, D::Delta d1, SemConstantIntegerExpr c |
|
||||
result = sub and
|
||||
sub.getLeftOperand() = semSsaRead(v, d1) and
|
||||
sub.getRightOperand() = c and
|
||||
delta = D::fromFloat(D::toFloat(d1) + c.getIntValue()) and
|
||||
not Lang::ignoreSsaReadArithmeticExpr(result)
|
||||
delta = D::fromFloat(D::toFloat(d1) + c.getIntValue())
|
||||
)
|
||||
or
|
||||
result = v.(SemSsaExplicitUpdate).getSourceExpr() and
|
||||
delta = D::fromFloat(0) and
|
||||
not Lang::ignoreSsaReadAssignment(v)
|
||||
delta = D::fromFloat(0)
|
||||
or
|
||||
result = Lang::specificSsaRead(v, delta)
|
||||
or
|
||||
result.(SemCopyValueExpr).getOperand() = semSsaRead(v, delta) and
|
||||
not Lang::ignoreSsaReadCopy(result)
|
||||
result.(SemCopyValueExpr).getOperand() = semSsaRead(v, delta)
|
||||
or
|
||||
result.(SemStoreExpr).getOperand() = semSsaRead(v, delta)
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ private import RangeUtils
|
||||
private import Sign
|
||||
|
||||
module SignAnalysis<DeltaSig D, UtilSig<Sem, D> Utils> {
|
||||
private import codeql.rangeanalysis.internal.RangeUtils::MakeUtils<Sem, D>
|
||||
|
||||
/**
|
||||
* An SSA definition for which the analysis can compute the sign.
|
||||
*
|
||||
@@ -297,12 +299,12 @@ module SignAnalysis<DeltaSig D, UtilSig<Sem, D> Utils> {
|
||||
|
|
||||
testIsTrue = true and
|
||||
comp.getLesserOperand() = lowerbound and
|
||||
comp.getGreaterOperand() = Utils::semSsaRead(v, D::fromInt(0)) and
|
||||
comp.getGreaterOperand() = ssaRead(v, D::fromInt(0)) and
|
||||
(if comp.isStrict() then isStrict = true else isStrict = false)
|
||||
or
|
||||
testIsTrue = false and
|
||||
comp.getGreaterOperand() = lowerbound and
|
||||
comp.getLesserOperand() = Utils::semSsaRead(v, D::fromInt(0)) and
|
||||
comp.getLesserOperand() = ssaRead(v, D::fromInt(0)) and
|
||||
(if comp.isStrict() then isStrict = false else isStrict = true)
|
||||
)
|
||||
}
|
||||
@@ -321,12 +323,12 @@ module SignAnalysis<DeltaSig D, UtilSig<Sem, D> Utils> {
|
||||
|
|
||||
testIsTrue = true and
|
||||
comp.getGreaterOperand() = upperbound and
|
||||
comp.getLesserOperand() = Utils::semSsaRead(v, D::fromInt(0)) and
|
||||
comp.getLesserOperand() = ssaRead(v, D::fromInt(0)) and
|
||||
(if comp.isStrict() then isStrict = true else isStrict = false)
|
||||
or
|
||||
testIsTrue = false and
|
||||
comp.getLesserOperand() = upperbound and
|
||||
comp.getGreaterOperand() = Utils::semSsaRead(v, D::fromInt(0)) and
|
||||
comp.getGreaterOperand() = ssaRead(v, D::fromInt(0)) and
|
||||
(if comp.isStrict() then isStrict = false else isStrict = true)
|
||||
)
|
||||
}
|
||||
@@ -342,7 +344,7 @@ module SignAnalysis<DeltaSig D, UtilSig<Sem, D> Utils> {
|
||||
exists(SemGuard guard, boolean testIsTrue, boolean polarity, SemExpr e |
|
||||
pos.hasReadOfVar(pragma[only_bind_into](v)) and
|
||||
semGuardControlsSsaRead(guard, pragma[only_bind_into](pos), testIsTrue) and
|
||||
e = Utils::semSsaRead(pragma[only_bind_into](v), D::fromInt(0)) and
|
||||
e = ssaRead(pragma[only_bind_into](v), D::fromInt(0)) and
|
||||
guard.isEquality(eqbound, e, polarity) and
|
||||
isEq = polarity.booleanXor(testIsTrue).booleanNot() and
|
||||
not unknownSign(eqbound)
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
* configuration (see `InvalidPointerToDerefConfig`).
|
||||
*
|
||||
* The dataflow traversal defines the set of sources as any dataflow node `n` such that there exists a pointer-arithmetic
|
||||
* instruction `pai` found by `AllocationToInvalidPointer.qll` and a `n.asInstruction() >= pai + deltaDerefSourceAndPai`.
|
||||
* Here, `deltaDerefSourceAndPai` is the constant difference between the source we track for finding a dereference and the
|
||||
* pointer-arithmetic instruction.
|
||||
* instruction `pai` found by `AllocationToInvalidPointer.qll` and a `n.asInstruction() = pai`.
|
||||
*
|
||||
* The set of sinks is defined as any dataflow node `n` such that `addr <= n.asInstruction() + deltaDerefSinkAndDerefAddress`
|
||||
* for some address operand `addr` and constant difference `deltaDerefSinkAndDerefAddress`. Since an address operand is
|
||||
@@ -37,9 +35,8 @@
|
||||
* `deltaDerefSinkAndDerefAddress >= 0`. The load attached to `*p` is the "operation". To ensure that the path makes
|
||||
* intuitive sense, we only pick operations that are control-flow reachable from the dereference sink.
|
||||
*
|
||||
* To compute how many elements the dereference is beyond the end position of the allocation, we sum the two deltas
|
||||
* `deltaDerefSourceAndPai` and `deltaDerefSinkAndDerefAddress`. This is done in the `operationIsOffBy` predicate
|
||||
* (which is the only predicate exposed by this file).
|
||||
* We use the `deltaDerefSinkAndDerefAddress` to compute how many elements the dereference is beyond the end position of
|
||||
* the allocation. This is done in the `operationIsOffBy` predicate (which is the only predicate exposed by this file).
|
||||
*
|
||||
* Handling false positives:
|
||||
*
|
||||
@@ -96,7 +93,7 @@ int invalidPointerToDereferenceFieldFlowBranchLimit() { result = 0 }
|
||||
private module InvalidPointerToDerefBarrier {
|
||||
private module BarrierConfig implements DataFlow::ConfigSig {
|
||||
additional predicate isSource(DataFlow::Node source, PointerArithmeticInstruction pai) {
|
||||
invalidPointerToDerefSource(_, pai, _, _) and
|
||||
invalidPointerToDerefSource(_, pai, _) and
|
||||
// source <= pai
|
||||
bounded2(source.asInstruction(), pai, any(int d | d <= 0))
|
||||
}
|
||||
@@ -169,11 +166,11 @@ private module InvalidPointerToDerefBarrier {
|
||||
*/
|
||||
private module InvalidPointerToDerefConfig implements DataFlow::StateConfigSig {
|
||||
class FlowState extends PointerArithmeticInstruction {
|
||||
FlowState() { invalidPointerToDerefSource(_, this, _, _) }
|
||||
FlowState() { invalidPointerToDerefSource(_, this, _) }
|
||||
}
|
||||
|
||||
predicate isSource(DataFlow::Node source, FlowState pai) {
|
||||
invalidPointerToDerefSource(_, pai, source, _)
|
||||
invalidPointerToDerefSource(_, pai, source)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
@@ -198,24 +195,17 @@ private import DataFlow::GlobalWithState<InvalidPointerToDerefConfig>
|
||||
|
||||
/**
|
||||
* Holds if `allocSource` is dataflow node that represents an allocation that flows to the
|
||||
* left-hand side of the pointer-arithmetic `pai`, and `derefSource <= pai + derefSourcePaiDelta`.
|
||||
*
|
||||
* For example, if `pai` is a pointer-arithmetic operation `p + size` in an expression such
|
||||
* as `(p + size) + 1` and `derefSource` is the node representing `(p + size) + 1`. In this
|
||||
* case `derefSourcePaiDelta` is 1.
|
||||
* left-hand side of the pointer-arithmetic instruction represented by `derefSource`.
|
||||
*/
|
||||
private predicate invalidPointerToDerefSource(
|
||||
DataFlow::Node allocSource, PointerArithmeticInstruction pai, DataFlow::Node derefSource,
|
||||
int deltaDerefSourceAndPai
|
||||
DataFlow::Node allocSource, PointerArithmeticInstruction pai, DataFlow::Node derefSource
|
||||
) {
|
||||
// Note that `deltaDerefSourceAndPai` is not necessarily equal to `rhsSizeDelta`:
|
||||
// `rhsSizeDelta` is the constant offset added to the size of the allocation, and
|
||||
// `deltaDerefSourceAndPai` is the constant difference between the pointer-arithmetic instruction
|
||||
// and the instruction computing the address for which we will search for a dereference.
|
||||
AllocToInvalidPointer::pointerAddInstructionHasBounds(allocSource, pai, _, _) and
|
||||
// derefSource <= pai + deltaDerefSourceAndPai
|
||||
bounded2(derefSource.asInstruction(), pai, deltaDerefSourceAndPai) and
|
||||
deltaDerefSourceAndPai >= 0
|
||||
derefSource.asInstruction() = pai
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -258,11 +248,9 @@ private Instruction getASuccessor(Instruction instr) {
|
||||
instr.getBlock().getASuccessor+() = result.getBlock()
|
||||
}
|
||||
|
||||
private predicate paiForDereferenceSink(
|
||||
PointerArithmeticInstruction pai, DataFlow::Node derefSink, int deltaDerefSourceAndPai
|
||||
) {
|
||||
private predicate paiForDereferenceSink(PointerArithmeticInstruction pai, DataFlow::Node derefSink) {
|
||||
exists(DataFlow::Node derefSource |
|
||||
invalidPointerToDerefSource(_, pai, derefSource, deltaDerefSourceAndPai) and
|
||||
invalidPointerToDerefSource(_, pai, derefSource) and
|
||||
flow(derefSource, derefSink)
|
||||
)
|
||||
}
|
||||
@@ -274,10 +262,10 @@ private predicate paiForDereferenceSink(
|
||||
*/
|
||||
private predicate derefSinkToOperation(
|
||||
DataFlow::Node derefSink, PointerArithmeticInstruction pai, DataFlow::Node operation,
|
||||
string description, int deltaDerefSourceAndPai, int deltaDerefSinkAndDerefAddress
|
||||
string description, int deltaDerefSinkAndDerefAddress
|
||||
) {
|
||||
exists(Instruction operationInstr, AddressOperand addr |
|
||||
paiForDereferenceSink(pai, pragma[only_bind_into](derefSink), deltaDerefSourceAndPai) and
|
||||
paiForDereferenceSink(pai, pragma[only_bind_into](derefSink)) and
|
||||
isInvalidPointerDerefSink(derefSink, addr, operationInstr, description,
|
||||
deltaDerefSinkAndDerefAddress) and
|
||||
operationInstr = getASuccessor(derefSink.asInstruction()) and
|
||||
@@ -298,11 +286,7 @@ predicate operationIsOffBy(
|
||||
DataFlow::Node allocation, PointerArithmeticInstruction pai, DataFlow::Node derefSource,
|
||||
DataFlow::Node derefSink, string description, DataFlow::Node operation, int delta
|
||||
) {
|
||||
exists(int deltaDerefSourceAndPai, int deltaDerefSinkAndDerefAddress |
|
||||
invalidPointerToDerefSource(allocation, pai, derefSource, deltaDerefSourceAndPai) and
|
||||
flow(derefSource, derefSink) and
|
||||
derefSinkToOperation(derefSink, pai, operation, description, deltaDerefSourceAndPai,
|
||||
deltaDerefSinkAndDerefAddress) and
|
||||
delta = deltaDerefSourceAndPai + deltaDerefSinkAndDerefAddress
|
||||
)
|
||||
invalidPointerToDerefSource(allocation, pai, derefSource) and
|
||||
flow(derefSource, derefSink) and
|
||||
derefSinkToOperation(derefSink, pai, operation, description, delta)
|
||||
}
|
||||
|
||||
@@ -1334,11 +1334,16 @@ funbind(
|
||||
| @assignxorexpr
|
||||
| @assignlshiftexpr
|
||||
| @assignrshiftexpr
|
||||
| @assignpaddexpr
|
||||
;
|
||||
|
||||
@assign_pointer_expr = @assignpaddexpr
|
||||
| @assignpsubexpr
|
||||
;
|
||||
|
||||
@assign_op_expr = @assign_arith_expr | @assign_bitwise_expr
|
||||
@assign_op_expr = @assign_arith_expr
|
||||
| @assign_bitwise_expr
|
||||
| @assign_pointer_expr
|
||||
;
|
||||
|
||||
@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
description: Removed @assignpaddexpr and @assignpsubexpr from @assign_bitwise_expr
|
||||
compatibility: full
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.8.2
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 0.8.1
|
||||
|
||||
### New Queries
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
* @id cpp/invalid-pointer-deref
|
||||
* @tags reliability
|
||||
* security
|
||||
* experimental
|
||||
* external/cwe/cwe-119
|
||||
* external/cwe/cwe-125
|
||||
* external/cwe/cwe-193
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
import cpp
|
||||
import semmle.code.cpp.ir.dataflow.TaintTracking
|
||||
import semmle.code.cpp.models.interfaces.FlowSource
|
||||
import semmle.code.cpp.models.implementations.Memset
|
||||
import ExposedSystemData::PathGraph
|
||||
import SystemData
|
||||
|
||||
@@ -28,6 +29,10 @@ module ExposedSystemDataConfig implements DataFlow::ConfigSig {
|
||||
fc.getArgument(arg).getAChild*() = sink.asIndirectExpr()
|
||||
)
|
||||
}
|
||||
|
||||
predicate isBarrier(DataFlow::Node node) {
|
||||
node.asIndirectArgument() = any(MemsetFunction func).getACallToThisFunction().getAnArgument()
|
||||
}
|
||||
}
|
||||
|
||||
module ExposedSystemData = TaintTracking::Global<ExposedSystemDataConfig>;
|
||||
|
||||
@@ -28,6 +28,7 @@ import cpp
|
||||
import semmle.code.cpp.ir.dataflow.TaintTracking
|
||||
import semmle.code.cpp.models.interfaces.FlowSource
|
||||
import semmle.code.cpp.security.OutputWrite
|
||||
import semmle.code.cpp.models.implementations.Memset
|
||||
import PotentiallyExposedSystemData::PathGraph
|
||||
import SystemData
|
||||
|
||||
@@ -49,6 +50,10 @@ module PotentiallyExposedSystemDataConfig implements DataFlow::ConfigSig {
|
||||
else child = sink.asExpr()
|
||||
)
|
||||
}
|
||||
|
||||
predicate isBarrier(DataFlow::Node node) {
|
||||
node.asIndirectArgument() = any(MemsetFunction func).getACallToThisFunction().getAnArgument()
|
||||
}
|
||||
}
|
||||
|
||||
module PotentiallyExposedSystemData = TaintTracking::Global<PotentiallyExposedSystemDataConfig>;
|
||||
|
||||
4
cpp/ql/src/change-notes/2023-10-31-odbc-models.md
Normal file
4
cpp/ql/src/change-notes/2023-10-31-odbc-models.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Added SQL API models for `ODBC`.
|
||||
3
cpp/ql/src/change-notes/released/0.8.2.md
Normal file
3
cpp/ql/src/change-notes/released/0.8.2.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## 0.8.2
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 0.8.1
|
||||
lastReleaseVersion: 0.8.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/cpp-queries
|
||||
version: 0.8.2-dev
|
||||
version: 0.8.3-dev
|
||||
groups:
|
||||
- cpp
|
||||
- queries
|
||||
|
||||
@@ -29,7 +29,6 @@ edges
|
||||
| test.cpp:69:10:69:10 | arr indirection [post update] [p] | test.cpp:70:5:70:7 | arr indirection [p] |
|
||||
| test.cpp:69:14:69:19 | call to malloc | test.cpp:69:5:69:25 | ... = ... |
|
||||
| test.cpp:70:5:70:7 | arr indirection [p] | test.cpp:67:10:67:19 | mk_array_p indirection [p] |
|
||||
| test.cpp:70:5:70:7 | arr indirection [p] | test.cpp:70:5:70:7 | arr indirection [p] |
|
||||
| test.cpp:76:20:76:29 | call to mk_array_p indirection [p] | test.cpp:79:9:79:11 | arr indirection [p] |
|
||||
| test.cpp:76:20:76:29 | call to mk_array_p indirection [p] | test.cpp:83:9:83:11 | arr indirection [p] |
|
||||
| test.cpp:79:9:79:11 | arr indirection [p] | test.cpp:79:14:79:14 | p |
|
||||
|
||||
@@ -41,6 +41,9 @@ postWithInFlow
|
||||
| example.c:26:9:26:9 | x [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| example.c:26:19:26:24 | coords [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| example.c:28:23:28:25 | pos [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| flowOut.cpp:5:5:5:12 | * ... [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| flowOut.cpp:5:6:5:12 | toTaint [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| flowOut.cpp:18:17:18:17 | x [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| globals.cpp:13:5:13:19 | flowTestGlobal1 [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| globals.cpp:23:5:23:19 | flowTestGlobal2 [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| lambdas.cpp:23:3:23:14 | v [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
int source();
|
||||
void sink(int);
|
||||
|
||||
void source_ref(int *toTaint) { // $ ir-def=*toTaint ast-def=toTaint
|
||||
*toTaint = source();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void modify_copy(int* ptr) { // $ ast-def=ptr
|
||||
int deref = *ptr;
|
||||
int* other = &deref;
|
||||
source_ref(other);
|
||||
}
|
||||
|
||||
void test_output() {
|
||||
int x = 0;
|
||||
modify_copy(&x);
|
||||
sink(x); // $ SPURIOUS: ir
|
||||
}
|
||||
@@ -83,7 +83,6 @@ edges
|
||||
| A.cpp:152:10:152:10 | d indirection [b] | A.cpp:152:10:152:13 | b |
|
||||
| A.cpp:153:10:153:10 | d indirection [b indirection, c] | A.cpp:153:13:153:13 | b indirection [c] |
|
||||
| A.cpp:153:13:153:13 | b indirection [c] | A.cpp:153:10:153:16 | c |
|
||||
| A.cpp:153:13:153:13 | b indirection [c] | A.cpp:153:13:153:13 | b indirection [c] |
|
||||
| A.cpp:154:10:154:10 | b indirection [c] | A.cpp:154:10:154:13 | c |
|
||||
| A.cpp:159:12:159:18 | new | A.cpp:160:29:160:29 | b |
|
||||
| A.cpp:160:18:160:60 | call to MyList [head] | A.cpp:161:38:161:39 | l1 indirection [head] |
|
||||
@@ -97,10 +96,8 @@ edges
|
||||
| A.cpp:162:38:162:39 | l2 indirection [next indirection, head] | A.cpp:162:18:162:40 | call to MyList [next indirection, next indirection, head] |
|
||||
| A.cpp:162:38:162:39 | l2 indirection [next indirection, head] | A.cpp:181:32:181:35 | next indirection [next indirection, head] |
|
||||
| A.cpp:165:10:165:11 | l3 indirection [next indirection, next indirection, head] | A.cpp:165:14:165:17 | next indirection [next indirection, head] |
|
||||
| A.cpp:165:14:165:17 | next indirection [next indirection, head] | A.cpp:165:14:165:17 | next indirection [next indirection, head] |
|
||||
| A.cpp:165:14:165:17 | next indirection [next indirection, head] | A.cpp:165:20:165:23 | next indirection [head] |
|
||||
| A.cpp:165:20:165:23 | next indirection [head] | A.cpp:165:10:165:29 | head |
|
||||
| A.cpp:165:20:165:23 | next indirection [head] | A.cpp:165:20:165:23 | next indirection [head] |
|
||||
| A.cpp:167:44:167:44 | l indirection [next indirection, head] | A.cpp:167:47:167:50 | next indirection [head] |
|
||||
| A.cpp:167:44:167:44 | l indirection [next indirection, next indirection, head] | A.cpp:167:47:167:50 | next indirection [next indirection, head] |
|
||||
| A.cpp:167:47:167:50 | next indirection [head] | A.cpp:169:12:169:12 | l indirection [head] |
|
||||
@@ -121,7 +118,6 @@ edges
|
||||
| B.cpp:8:25:8:26 | b1 indirection [elem1] | B.cpp:44:16:44:17 | b1 indirection [elem1] |
|
||||
| B.cpp:9:10:9:11 | b2 indirection [box1 indirection, elem1] | B.cpp:9:14:9:17 | box1 indirection [elem1] |
|
||||
| B.cpp:9:14:9:17 | box1 indirection [elem1] | B.cpp:9:10:9:24 | elem1 |
|
||||
| B.cpp:9:14:9:17 | box1 indirection [elem1] | B.cpp:9:14:9:17 | box1 indirection [elem1] |
|
||||
| B.cpp:15:15:15:27 | new | B.cpp:16:37:16:37 | e |
|
||||
| B.cpp:16:16:16:38 | call to Box1 [elem2] | B.cpp:17:25:17:26 | b1 indirection [elem2] |
|
||||
| B.cpp:16:37:16:37 | e | B.cpp:16:16:16:38 | call to Box1 [elem2] |
|
||||
@@ -131,7 +127,6 @@ edges
|
||||
| B.cpp:17:25:17:26 | b1 indirection [elem2] | B.cpp:44:16:44:17 | b1 indirection [elem2] |
|
||||
| B.cpp:19:10:19:11 | b2 indirection [box1 indirection, elem2] | B.cpp:19:14:19:17 | box1 indirection [elem2] |
|
||||
| B.cpp:19:14:19:17 | box1 indirection [elem2] | B.cpp:19:10:19:24 | elem2 |
|
||||
| B.cpp:19:14:19:17 | box1 indirection [elem2] | B.cpp:19:14:19:17 | box1 indirection [elem2] |
|
||||
| B.cpp:33:16:33:17 | e1 | B.cpp:35:7:35:22 | ... = ... |
|
||||
| B.cpp:33:26:33:27 | e2 | B.cpp:36:7:36:22 | ... = ... |
|
||||
| B.cpp:35:7:35:22 | ... = ... | B.cpp:35:13:35:17 | this indirection [post update] [elem1] |
|
||||
@@ -196,17 +191,12 @@ edges
|
||||
| D.cpp:58:20:58:23 | box indirection [post update] [elem] | D.cpp:58:15:58:17 | boxfield indirection [post update] [box indirection, elem] |
|
||||
| D.cpp:59:5:59:7 | this indirection [boxfield indirection, box indirection, elem] | D.cpp:63:8:63:10 | this indirection [boxfield indirection, box indirection, elem] |
|
||||
| D.cpp:63:8:63:10 | this indirection [boxfield indirection, box indirection, elem] | D.cpp:64:10:64:17 | this indirection [boxfield indirection, box indirection, elem] |
|
||||
| D.cpp:64:10:64:17 | boxfield indirection [box indirection, elem] | D.cpp:64:10:64:17 | boxfield indirection [box indirection, elem] |
|
||||
| D.cpp:64:10:64:17 | boxfield indirection [box indirection, elem] | D.cpp:64:20:64:22 | box indirection [elem] |
|
||||
| D.cpp:64:10:64:17 | this indirection [boxfield indirection, box indirection, elem] | D.cpp:64:10:64:17 | boxfield indirection [box indirection, elem] |
|
||||
| D.cpp:64:20:64:22 | box indirection [elem] | D.cpp:64:10:64:28 | elem |
|
||||
| D.cpp:64:20:64:22 | box indirection [elem] | D.cpp:64:20:64:22 | box indirection [elem] |
|
||||
| E.cpp:19:27:19:27 | p indirection [data, buffer indirection] | E.cpp:21:10:21:10 | p indirection [data, buffer indirection] |
|
||||
| E.cpp:21:10:21:10 | p indirection [data, buffer indirection] | E.cpp:21:13:21:16 | data indirection [buffer indirection] |
|
||||
| E.cpp:21:13:21:16 | data indirection [buffer indirection] | E.cpp:21:18:21:23 | buffer indirection |
|
||||
| E.cpp:21:13:21:16 | data indirection [buffer indirection] | E.cpp:21:18:21:23 | buffer indirection |
|
||||
| E.cpp:21:18:21:23 | buffer indirection | E.cpp:21:18:21:23 | buffer indirection |
|
||||
| E.cpp:21:18:21:23 | buffer indirection | E.cpp:21:18:21:23 | buffer indirection |
|
||||
| E.cpp:28:21:28:23 | argument_source output argument | E.cpp:31:10:31:12 | raw indirection |
|
||||
| E.cpp:29:21:29:29 | argument_source output argument | E.cpp:29:24:29:29 | b indirection [post update] [buffer indirection] |
|
||||
| E.cpp:29:24:29:29 | b indirection [post update] [buffer indirection] | E.cpp:32:10:32:10 | b indirection [buffer indirection] |
|
||||
@@ -214,9 +204,6 @@ edges
|
||||
| E.cpp:30:23:30:26 | p indirection [post update] [data, buffer indirection] | E.cpp:33:18:33:19 | & ... indirection [data, buffer indirection] |
|
||||
| E.cpp:30:28:30:33 | data indirection [post update] [buffer indirection] | E.cpp:30:23:30:26 | p indirection [post update] [data, buffer indirection] |
|
||||
| E.cpp:32:10:32:10 | b indirection [buffer indirection] | E.cpp:32:13:32:18 | buffer indirection |
|
||||
| E.cpp:32:10:32:10 | b indirection [buffer indirection] | E.cpp:32:13:32:18 | buffer indirection |
|
||||
| E.cpp:32:13:32:18 | buffer indirection | E.cpp:32:13:32:18 | buffer indirection |
|
||||
| E.cpp:32:13:32:18 | buffer indirection | E.cpp:32:13:32:18 | buffer indirection |
|
||||
| E.cpp:33:18:33:19 | & ... indirection [data, buffer indirection] | E.cpp:19:27:19:27 | p indirection [data, buffer indirection] |
|
||||
| aliasing.cpp:9:3:9:22 | ... = ... | aliasing.cpp:9:6:9:7 | s indirection [post update] [m1] |
|
||||
| aliasing.cpp:9:6:9:7 | s indirection [post update] [m1] | aliasing.cpp:25:17:25:19 | pointerSetter output argument [m1] |
|
||||
@@ -311,11 +298,9 @@ edges
|
||||
| arrays.cpp:43:8:43:8 | o indirection [indirect indirection, arr, data] | arrays.cpp:43:10:43:17 | indirect indirection [arr, data] |
|
||||
| arrays.cpp:43:8:43:25 | access to array indirection [data] | arrays.cpp:43:27:43:30 | data |
|
||||
| arrays.cpp:43:10:43:17 | indirect indirection [arr, data] | arrays.cpp:43:8:43:25 | access to array indirection [data] |
|
||||
| arrays.cpp:43:10:43:17 | indirect indirection [arr, data] | arrays.cpp:43:10:43:17 | indirect indirection [arr, data] |
|
||||
| arrays.cpp:44:8:44:8 | o indirection [indirect indirection, arr, data] | arrays.cpp:44:10:44:17 | indirect indirection [arr, data] |
|
||||
| arrays.cpp:44:8:44:25 | access to array indirection [data] | arrays.cpp:44:27:44:30 | data |
|
||||
| arrays.cpp:44:10:44:17 | indirect indirection [arr, data] | arrays.cpp:44:8:44:25 | access to array indirection [data] |
|
||||
| arrays.cpp:44:10:44:17 | indirect indirection [arr, data] | arrays.cpp:44:10:44:17 | indirect indirection [arr, data] |
|
||||
| arrays.cpp:48:3:48:40 | ... = ... | arrays.cpp:48:22:48:25 | access to array indirection [post update] [data] |
|
||||
| arrays.cpp:48:5:48:12 | o indirection [post update] [indirect indirection, ptr indirection, data] | arrays.cpp:49:8:49:8 | o indirection [indirect indirection, ptr indirection, data] |
|
||||
| arrays.cpp:48:5:48:12 | o indirection [post update] [indirect indirection, ptr indirection, data] | arrays.cpp:50:8:50:8 | o indirection [indirect indirection, ptr indirection, data] |
|
||||
@@ -325,13 +310,11 @@ edges
|
||||
| arrays.cpp:49:8:49:8 | o indirection [indirect indirection, ptr indirection, data] | arrays.cpp:49:10:49:17 | indirect indirection [ptr indirection, data] |
|
||||
| arrays.cpp:49:8:49:25 | access to array indirection [data] | arrays.cpp:49:27:49:30 | data |
|
||||
| arrays.cpp:49:10:49:17 | indirect indirection [ptr indirection, data] | arrays.cpp:49:8:49:25 | access to array indirection [data] |
|
||||
| arrays.cpp:49:10:49:17 | indirect indirection [ptr indirection, data] | arrays.cpp:49:10:49:17 | indirect indirection [ptr indirection, data] |
|
||||
| arrays.cpp:49:10:49:17 | indirect indirection [ptr indirection, data] | arrays.cpp:49:20:49:22 | ptr indirection [data] |
|
||||
| arrays.cpp:49:20:49:22 | ptr indirection [data] | arrays.cpp:49:8:49:25 | access to array indirection [data] |
|
||||
| arrays.cpp:50:8:50:8 | o indirection [indirect indirection, ptr indirection, data] | arrays.cpp:50:10:50:17 | indirect indirection [ptr indirection, data] |
|
||||
| arrays.cpp:50:8:50:25 | access to array indirection [data] | arrays.cpp:50:27:50:30 | data |
|
||||
| arrays.cpp:50:10:50:17 | indirect indirection [ptr indirection, data] | arrays.cpp:50:8:50:25 | access to array indirection [data] |
|
||||
| arrays.cpp:50:10:50:17 | indirect indirection [ptr indirection, data] | arrays.cpp:50:10:50:17 | indirect indirection [ptr indirection, data] |
|
||||
| arrays.cpp:50:10:50:17 | indirect indirection [ptr indirection, data] | arrays.cpp:50:20:50:22 | ptr indirection [data] |
|
||||
| arrays.cpp:50:20:50:22 | ptr indirection [data] | arrays.cpp:50:8:50:25 | access to array indirection [data] |
|
||||
| by_reference.cpp:11:48:11:52 | value | by_reference.cpp:12:5:12:16 | ... = ... |
|
||||
@@ -411,13 +394,11 @@ edges
|
||||
| by_reference.cpp:110:8:110:12 | outer indirection [inner_nested, a] | by_reference.cpp:110:14:110:25 | inner_nested indirection [a] |
|
||||
| by_reference.cpp:110:14:110:25 | inner_nested indirection [a] | by_reference.cpp:110:27:110:27 | a |
|
||||
| by_reference.cpp:111:8:111:12 | outer indirection [inner_ptr indirection, a] | by_reference.cpp:111:14:111:22 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:111:14:111:22 | inner_ptr indirection [a] | by_reference.cpp:111:14:111:22 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:111:14:111:22 | inner_ptr indirection [a] | by_reference.cpp:111:25:111:25 | a |
|
||||
| by_reference.cpp:112:8:112:12 | outer indirection [a] | by_reference.cpp:112:14:112:14 | a |
|
||||
| by_reference.cpp:114:8:114:13 | pouter indirection [inner_nested, a] | by_reference.cpp:114:16:114:27 | inner_nested indirection [a] |
|
||||
| by_reference.cpp:114:16:114:27 | inner_nested indirection [a] | by_reference.cpp:114:29:114:29 | a |
|
||||
| by_reference.cpp:115:8:115:13 | pouter indirection [inner_ptr indirection, a] | by_reference.cpp:115:16:115:24 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:115:16:115:24 | inner_ptr indirection [a] | by_reference.cpp:115:16:115:24 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:115:16:115:24 | inner_ptr indirection [a] | by_reference.cpp:115:27:115:27 | a |
|
||||
| by_reference.cpp:116:8:116:13 | pouter indirection [a] | by_reference.cpp:116:16:116:16 | a |
|
||||
| by_reference.cpp:122:21:122:38 | taint_inner_a_ref output argument [a] | by_reference.cpp:122:27:122:38 | outer indirection [post update] [inner_nested, a] |
|
||||
@@ -435,13 +416,11 @@ edges
|
||||
| by_reference.cpp:130:8:130:12 | outer indirection [inner_nested, a] | by_reference.cpp:130:14:130:25 | inner_nested indirection [a] |
|
||||
| by_reference.cpp:130:14:130:25 | inner_nested indirection [a] | by_reference.cpp:130:27:130:27 | a |
|
||||
| by_reference.cpp:131:8:131:12 | outer indirection [inner_ptr indirection, a] | by_reference.cpp:131:14:131:22 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:131:14:131:22 | inner_ptr indirection [a] | by_reference.cpp:131:14:131:22 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:131:14:131:22 | inner_ptr indirection [a] | by_reference.cpp:131:25:131:25 | a |
|
||||
| by_reference.cpp:132:8:132:12 | outer indirection [a] | by_reference.cpp:132:14:132:14 | a |
|
||||
| by_reference.cpp:134:8:134:13 | pouter indirection [inner_nested, a] | by_reference.cpp:134:16:134:27 | inner_nested indirection [a] |
|
||||
| by_reference.cpp:134:16:134:27 | inner_nested indirection [a] | by_reference.cpp:134:29:134:29 | a |
|
||||
| by_reference.cpp:135:8:135:13 | pouter indirection [inner_ptr indirection, a] | by_reference.cpp:135:16:135:24 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:135:16:135:24 | inner_ptr indirection [a] | by_reference.cpp:135:16:135:24 | inner_ptr indirection [a] |
|
||||
| by_reference.cpp:135:16:135:24 | inner_ptr indirection [a] | by_reference.cpp:135:27:135:27 | a |
|
||||
| by_reference.cpp:136:8:136:13 | pouter indirection [a] | by_reference.cpp:136:16:136:16 | a |
|
||||
| clearning.cpp:32:3:32:25 | ... = ... | clearning.cpp:32:6:32:6 | s indirection [post update] [x indirection] |
|
||||
@@ -460,9 +439,6 @@ edges
|
||||
| clearning.cpp:54:5:54:5 | s indirection [post update] [x indirection] | clearning.cpp:55:8:55:8 | s indirection [x indirection] |
|
||||
| clearning.cpp:54:5:54:5 | x indirection | clearning.cpp:54:3:54:7 | ... ++ indirection |
|
||||
| clearning.cpp:55:8:55:8 | s indirection [x indirection] | clearning.cpp:55:10:55:10 | x indirection |
|
||||
| clearning.cpp:55:8:55:8 | s indirection [x indirection] | clearning.cpp:55:10:55:10 | x indirection |
|
||||
| clearning.cpp:55:10:55:10 | x indirection | clearning.cpp:55:10:55:10 | x indirection |
|
||||
| clearning.cpp:55:10:55:10 | x indirection | clearning.cpp:55:10:55:10 | x indirection |
|
||||
| clearning.cpp:60:3:60:22 | ... = ... | clearning.cpp:60:7:60:7 | s indirection [post update] [x indirection] |
|
||||
| clearning.cpp:60:7:60:7 | s indirection [post update] [x indirection] | clearning.cpp:61:3:61:3 | s indirection [x indirection] |
|
||||
| clearning.cpp:60:11:60:20 | call to user_input | clearning.cpp:60:3:60:22 | ... = ... |
|
||||
@@ -474,9 +450,6 @@ edges
|
||||
| clearning.cpp:61:5:61:5 | s indirection [post update] [x indirection] | clearning.cpp:62:8:62:8 | s indirection [x indirection] |
|
||||
| clearning.cpp:61:5:61:5 | x indirection | clearning.cpp:61:3:61:7 | ... ++ indirection |
|
||||
| clearning.cpp:62:8:62:8 | s indirection [x indirection] | clearning.cpp:62:10:62:10 | x indirection |
|
||||
| clearning.cpp:62:8:62:8 | s indirection [x indirection] | clearning.cpp:62:10:62:10 | x indirection |
|
||||
| clearning.cpp:62:10:62:10 | x indirection | clearning.cpp:62:10:62:10 | x indirection |
|
||||
| clearning.cpp:62:10:62:10 | x indirection | clearning.cpp:62:10:62:10 | x indirection |
|
||||
| clearning.cpp:74:20:74:22 | argument_source output argument | clearning.cpp:74:20:74:22 | s indirection [post update] [val indirection] |
|
||||
| clearning.cpp:74:20:74:22 | s indirection [post update] [val indirection] | clearning.cpp:76:8:76:8 | s indirection [val indirection] |
|
||||
| clearning.cpp:76:8:76:8 | s indirection [val indirection] | clearning.cpp:76:7:76:12 | * ... |
|
||||
@@ -620,14 +593,12 @@ edges
|
||||
| conflated.cpp:54:13:54:13 | next indirection [post update] [y] | conflated.cpp:54:7:54:10 | ll indirection [post update] [next indirection, y] |
|
||||
| conflated.cpp:54:17:54:26 | call to user_input | conflated.cpp:54:3:54:28 | ... = ... |
|
||||
| conflated.cpp:55:8:55:9 | ll indirection [next indirection, y] | conflated.cpp:55:12:55:15 | next indirection [y] |
|
||||
| conflated.cpp:55:12:55:15 | next indirection [y] | conflated.cpp:55:12:55:15 | next indirection [y] |
|
||||
| conflated.cpp:55:12:55:15 | next indirection [y] | conflated.cpp:55:18:55:18 | y |
|
||||
| conflated.cpp:60:3:60:28 | ... = ... | conflated.cpp:60:13:60:13 | next indirection [post update] [y] |
|
||||
| conflated.cpp:60:7:60:10 | ll indirection [post update] [next indirection, y] | conflated.cpp:61:8:61:9 | ll indirection [next indirection, y] |
|
||||
| conflated.cpp:60:13:60:13 | next indirection [post update] [y] | conflated.cpp:60:7:60:10 | ll indirection [post update] [next indirection, y] |
|
||||
| conflated.cpp:60:17:60:26 | call to user_input | conflated.cpp:60:3:60:28 | ... = ... |
|
||||
| conflated.cpp:61:8:61:9 | ll indirection [next indirection, y] | conflated.cpp:61:12:61:15 | next indirection [y] |
|
||||
| conflated.cpp:61:12:61:15 | next indirection [y] | conflated.cpp:61:12:61:15 | next indirection [y] |
|
||||
| conflated.cpp:61:12:61:15 | next indirection [y] | conflated.cpp:61:18:61:18 | y |
|
||||
| constructors.cpp:18:9:18:9 | this indirection [a_] | constructors.cpp:18:22:18:23 | this indirection [a_] |
|
||||
| constructors.cpp:18:22:18:23 | a_ | constructors.cpp:18:9:18:9 | a indirection |
|
||||
@@ -672,42 +643,36 @@ edges
|
||||
| qualifiers.cpp:22:23:22:23 | call to getInner indirection [post update] [a] | qualifiers.cpp:22:5:22:9 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:22:27:22:36 | call to user_input | qualifiers.cpp:22:5:22:38 | ... = ... |
|
||||
| qualifiers.cpp:23:10:23:14 | outer indirection [inner indirection, a] | qualifiers.cpp:23:16:23:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:23:16:23:20 | inner indirection [a] | qualifiers.cpp:23:16:23:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:23:16:23:20 | inner indirection [a] | qualifiers.cpp:23:23:23:23 | a |
|
||||
| qualifiers.cpp:27:5:27:9 | getInner output argument [inner indirection, a] | qualifiers.cpp:28:10:28:14 | outer indirection [inner indirection, a] |
|
||||
| qualifiers.cpp:27:11:27:18 | setA output argument [a] | qualifiers.cpp:27:5:27:9 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:27:28:27:37 | call to user_input | qualifiers.cpp:9:21:9:25 | value |
|
||||
| qualifiers.cpp:27:28:27:37 | call to user_input | qualifiers.cpp:27:11:27:18 | setA output argument [a] |
|
||||
| qualifiers.cpp:28:10:28:14 | outer indirection [inner indirection, a] | qualifiers.cpp:28:16:28:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:28:16:28:20 | inner indirection [a] | qualifiers.cpp:28:16:28:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:28:16:28:20 | inner indirection [a] | qualifiers.cpp:28:23:28:23 | a |
|
||||
| qualifiers.cpp:32:17:32:21 | getInner output argument [inner indirection, a] | qualifiers.cpp:33:10:33:14 | outer indirection [inner indirection, a] |
|
||||
| qualifiers.cpp:32:23:32:30 | pointerSetA output argument [a] | qualifiers.cpp:32:17:32:21 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:32:35:32:44 | call to user_input | qualifiers.cpp:12:40:12:44 | value |
|
||||
| qualifiers.cpp:32:35:32:44 | call to user_input | qualifiers.cpp:32:23:32:30 | pointerSetA output argument [a] |
|
||||
| qualifiers.cpp:33:10:33:14 | outer indirection [inner indirection, a] | qualifiers.cpp:33:16:33:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:33:16:33:20 | inner indirection [a] | qualifiers.cpp:33:16:33:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:33:16:33:20 | inner indirection [a] | qualifiers.cpp:33:23:33:23 | a |
|
||||
| qualifiers.cpp:37:19:37:35 | referenceSetA output argument [a] | qualifiers.cpp:37:20:37:24 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:37:20:37:24 | getInner output argument [inner indirection, a] | qualifiers.cpp:38:10:38:14 | outer indirection [inner indirection, a] |
|
||||
| qualifiers.cpp:37:38:37:47 | call to user_input | qualifiers.cpp:13:42:13:46 | value |
|
||||
| qualifiers.cpp:37:38:37:47 | call to user_input | qualifiers.cpp:37:19:37:35 | referenceSetA output argument [a] |
|
||||
| qualifiers.cpp:38:10:38:14 | outer indirection [inner indirection, a] | qualifiers.cpp:38:16:38:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:38:16:38:20 | inner indirection [a] | qualifiers.cpp:38:16:38:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:38:16:38:20 | inner indirection [a] | qualifiers.cpp:38:23:38:23 | a |
|
||||
| qualifiers.cpp:42:5:42:40 | ... = ... | qualifiers.cpp:42:25:42:25 | * ... indirection [post update] [a] |
|
||||
| qualifiers.cpp:42:7:42:11 | getInner output argument [inner indirection, a] | qualifiers.cpp:43:10:43:14 | outer indirection [inner indirection, a] |
|
||||
| qualifiers.cpp:42:25:42:25 | * ... indirection [post update] [a] | qualifiers.cpp:42:7:42:11 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:42:29:42:38 | call to user_input | qualifiers.cpp:42:5:42:40 | ... = ... |
|
||||
| qualifiers.cpp:43:10:43:14 | outer indirection [inner indirection, a] | qualifiers.cpp:43:16:43:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:43:16:43:20 | inner indirection [a] | qualifiers.cpp:43:16:43:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:43:16:43:20 | inner indirection [a] | qualifiers.cpp:43:23:43:23 | a |
|
||||
| qualifiers.cpp:47:5:47:42 | ... = ... | qualifiers.cpp:47:27:47:27 | call to getInner indirection [post update] [a] |
|
||||
| qualifiers.cpp:47:6:47:11 | getInner output argument [inner indirection, a] | qualifiers.cpp:48:10:48:14 | outer indirection [inner indirection, a] |
|
||||
| qualifiers.cpp:47:27:47:27 | call to getInner indirection [post update] [a] | qualifiers.cpp:47:6:47:11 | getInner output argument [inner indirection, a] |
|
||||
| qualifiers.cpp:47:31:47:40 | call to user_input | qualifiers.cpp:47:5:47:42 | ... = ... |
|
||||
| qualifiers.cpp:48:10:48:14 | outer indirection [inner indirection, a] | qualifiers.cpp:48:16:48:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:48:16:48:20 | inner indirection [a] | qualifiers.cpp:48:16:48:20 | inner indirection [a] |
|
||||
| qualifiers.cpp:48:16:48:20 | inner indirection [a] | qualifiers.cpp:48:23:48:23 | a |
|
||||
| realistic.cpp:53:9:53:66 | ... = ... | realistic.cpp:53:35:53:43 | userInput indirection [post update] [bufferLen] |
|
||||
| realistic.cpp:53:13:53:15 | foo indirection [post update] [bar, baz indirection, userInput, bufferLen] | realistic.cpp:61:21:61:23 | foo indirection [bar, baz indirection, userInput, bufferLen] |
|
||||
@@ -717,7 +682,6 @@ edges
|
||||
| realistic.cpp:53:47:53:66 | call to user_input | realistic.cpp:53:9:53:66 | ... = ... |
|
||||
| realistic.cpp:61:21:61:23 | foo indirection [bar, baz indirection, userInput, bufferLen] | realistic.cpp:61:21:61:30 | access to array indirection [baz indirection, userInput, bufferLen] |
|
||||
| realistic.cpp:61:21:61:30 | access to array indirection [baz indirection, userInput, bufferLen] | realistic.cpp:61:32:61:34 | baz indirection [userInput, bufferLen] |
|
||||
| realistic.cpp:61:32:61:34 | baz indirection [userInput, bufferLen] | realistic.cpp:61:32:61:34 | baz indirection [userInput, bufferLen] |
|
||||
| realistic.cpp:61:32:61:34 | baz indirection [userInput, bufferLen] | realistic.cpp:61:37:61:45 | userInput indirection [bufferLen] |
|
||||
| realistic.cpp:61:37:61:45 | userInput indirection [bufferLen] | realistic.cpp:61:14:61:55 | bufferLen |
|
||||
| simple.cpp:18:9:18:9 | this indirection [a_] | simple.cpp:18:22:18:23 | this indirection [a_] |
|
||||
@@ -796,7 +760,6 @@ edges
|
||||
| struct_init.c:31:8:31:12 | outer indirection [nestedAB, a] | struct_init.c:31:14:31:21 | nestedAB indirection [a] |
|
||||
| struct_init.c:31:14:31:21 | nestedAB indirection [a] | struct_init.c:31:23:31:23 | a |
|
||||
| struct_init.c:33:8:33:12 | outer indirection [pointerAB indirection, a] | struct_init.c:33:14:33:22 | pointerAB indirection [a] |
|
||||
| struct_init.c:33:14:33:22 | pointerAB indirection [a] | struct_init.c:33:14:33:22 | pointerAB indirection [a] |
|
||||
| struct_init.c:33:14:33:22 | pointerAB indirection [a] | struct_init.c:33:25:33:25 | a |
|
||||
| struct_init.c:36:10:36:24 | & ... indirection [a] | struct_init.c:14:24:14:25 | ab indirection [a] |
|
||||
| struct_init.c:36:11:36:15 | outer indirection [nestedAB, a] | struct_init.c:36:10:36:24 | & ... indirection [a] |
|
||||
@@ -808,7 +771,6 @@ edges
|
||||
| struct_init.c:43:5:43:7 | & ... indirection [a] | struct_init.c:41:23:44:3 | definition of outer indirection [post update] [pointerAB indirection, a] |
|
||||
| struct_init.c:46:10:46:14 | outer indirection [pointerAB indirection, a] | struct_init.c:46:16:46:24 | pointerAB indirection [a] |
|
||||
| struct_init.c:46:16:46:24 | pointerAB indirection [a] | struct_init.c:14:24:14:25 | ab indirection [a] |
|
||||
| struct_init.c:46:16:46:24 | pointerAB indirection [a] | struct_init.c:46:16:46:24 | pointerAB indirection [a] |
|
||||
nodes
|
||||
| A.cpp:23:10:23:10 | c | semmle.label | c |
|
||||
| A.cpp:25:7:25:17 | ... = ... | semmle.label | ... = ... |
|
||||
@@ -1019,7 +981,6 @@ nodes
|
||||
| E.cpp:21:10:21:10 | p indirection [data, buffer indirection] | semmle.label | p indirection [data, buffer indirection] |
|
||||
| E.cpp:21:13:21:16 | data indirection [buffer indirection] | semmle.label | data indirection [buffer indirection] |
|
||||
| E.cpp:21:18:21:23 | buffer indirection | semmle.label | buffer indirection |
|
||||
| E.cpp:21:18:21:23 | buffer indirection | semmle.label | buffer indirection |
|
||||
| E.cpp:28:21:28:23 | argument_source output argument | semmle.label | argument_source output argument |
|
||||
| E.cpp:29:21:29:29 | argument_source output argument | semmle.label | argument_source output argument |
|
||||
| E.cpp:29:24:29:29 | b indirection [post update] [buffer indirection] | semmle.label | b indirection [post update] [buffer indirection] |
|
||||
@@ -1029,7 +990,6 @@ nodes
|
||||
| E.cpp:31:10:31:12 | raw indirection | semmle.label | raw indirection |
|
||||
| E.cpp:32:10:32:10 | b indirection [buffer indirection] | semmle.label | b indirection [buffer indirection] |
|
||||
| E.cpp:32:13:32:18 | buffer indirection | semmle.label | buffer indirection |
|
||||
| E.cpp:32:13:32:18 | buffer indirection | semmle.label | buffer indirection |
|
||||
| E.cpp:33:18:33:19 | & ... indirection [data, buffer indirection] | semmle.label | & ... indirection [data, buffer indirection] |
|
||||
| aliasing.cpp:9:3:9:22 | ... = ... | semmle.label | ... = ... |
|
||||
| aliasing.cpp:9:6:9:7 | s indirection [post update] [m1] | semmle.label | s indirection [post update] [m1] |
|
||||
@@ -1277,7 +1237,6 @@ nodes
|
||||
| clearning.cpp:54:5:54:5 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:55:8:55:8 | s indirection [x indirection] | semmle.label | s indirection [x indirection] |
|
||||
| clearning.cpp:55:10:55:10 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:55:10:55:10 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:60:3:60:22 | ... = ... | semmle.label | ... = ... |
|
||||
| clearning.cpp:60:7:60:7 | s indirection [post update] [x indirection] | semmle.label | s indirection [post update] [x indirection] |
|
||||
| clearning.cpp:60:11:60:20 | call to user_input | semmle.label | call to user_input |
|
||||
@@ -1288,7 +1247,6 @@ nodes
|
||||
| clearning.cpp:61:5:61:5 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:62:8:62:8 | s indirection [x indirection] | semmle.label | s indirection [x indirection] |
|
||||
| clearning.cpp:62:10:62:10 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:62:10:62:10 | x indirection | semmle.label | x indirection |
|
||||
| clearning.cpp:74:20:74:22 | argument_source output argument | semmle.label | argument_source output argument |
|
||||
| clearning.cpp:74:20:74:22 | s indirection [post update] [val indirection] | semmle.label | s indirection [post update] [val indirection] |
|
||||
| clearning.cpp:76:7:76:12 | * ... | semmle.label | * ... |
|
||||
|
||||
@@ -6643,6 +6643,9 @@ WARNING: Module TaintTracking has been deprecated and may be removed in future (
|
||||
| taint.cpp:729:27:729:32 | endptr | taint.cpp:729:26:729:32 | & ... | |
|
||||
| taint.cpp:731:7:731:12 | ref arg endptr | taint.cpp:732:8:732:13 | endptr | |
|
||||
| taint.cpp:732:8:732:13 | endptr | taint.cpp:732:7:732:13 | * ... | TAINT |
|
||||
| taint.cpp:738:17:738:31 | call to indirect_source | taint.cpp:739:30:739:35 | source | |
|
||||
| taint.cpp:739:22:739:28 | call to realloc | taint.cpp:740:7:740:10 | dest | |
|
||||
| taint.cpp:739:30:739:35 | source | taint.cpp:739:22:739:28 | call to realloc | TAINT |
|
||||
| vector.cpp:16:43:16:49 | source1 | vector.cpp:17:26:17:32 | source1 | |
|
||||
| vector.cpp:16:43:16:49 | source1 | vector.cpp:31:38:31:44 | source1 | |
|
||||
| vector.cpp:17:21:17:33 | call to vector | vector.cpp:19:14:19:14 | v | |
|
||||
|
||||
@@ -730,4 +730,12 @@ void test_strtol(char *source) {
|
||||
sink(l); // $ ast,ir
|
||||
sink(endptr); // $ ast,ir
|
||||
sink(*endptr); // $ ast,ir
|
||||
}
|
||||
|
||||
void *realloc(void *, size_t);
|
||||
|
||||
void test_realloc() {
|
||||
char *source = indirect_source();
|
||||
char *dest = (char*)realloc(source, 16);
|
||||
sink(dest); // $ ir MISSING: ast
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import cpp
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.analysis.ModulusAnalysis
|
||||
import codeql.rangeanalysis.ModulusAnalysis
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.Semantic
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.SemanticLocation
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.analysis.RangeUtils
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.analysis.FloatDelta
|
||||
import semmle.code.cpp.rangeanalysis.new.internal.semantic.analysis.RangeAnalysisRelativeSpecific
|
||||
@@ -10,7 +11,8 @@ import semmle.code.cpp.ir.IR as IR
|
||||
import TestUtilities.InlineExpectationsTest
|
||||
|
||||
module ModulusAnalysisInstantiated =
|
||||
ModulusAnalysis<FloatDelta, ConstantBounds, RangeUtil<FloatDelta, CppLangImplRelative>>;
|
||||
ModulusAnalysis<SemLocation, Sem, FloatDelta, ConstantBounds,
|
||||
RangeUtil<FloatDelta, CppLangImplRelative>>;
|
||||
|
||||
module ModulusAnalysisTest implements TestSig {
|
||||
string getARelevantTag() { result = "mod" }
|
||||
@@ -31,7 +33,7 @@ import MakeTest<ModulusAnalysisTest>
|
||||
|
||||
private string getAModString(SemExpr e) {
|
||||
exists(SemBound b, int delta, int mod |
|
||||
ModulusAnalysisInstantiated::semExprModulus(e, b, delta, mod) and
|
||||
ModulusAnalysisInstantiated::exprModulus(e, b, delta, mod) and
|
||||
result = b.toString() + "," + delta.toString() + "," + mod.toString() and
|
||||
not (delta = 0 and mod = 0)
|
||||
)
|
||||
|
||||
@@ -1028,4 +1028,75 @@ void test_negate_signed(int s) {
|
||||
if(10 < s && s < 20) {
|
||||
range<int>(-s); // $ range=<=-11 range=>=-19
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// By setting the guard after the use in another guard we
|
||||
// don't get the useful information
|
||||
void test_guard_after_use(int pos, int size, int offset) {
|
||||
if (pos + offset >= size) { // $ overflow=+-
|
||||
return;
|
||||
}
|
||||
if (offset != 1) {
|
||||
return;
|
||||
}
|
||||
range(pos + 1); // $ overflow=+ range="==InitializeParameter: pos+1" MISSING: range="<=InitializeParameter: size-1"
|
||||
}
|
||||
|
||||
int cond();
|
||||
|
||||
|
||||
// This is basically what we get when we have a loop that calls
|
||||
// realloc in some iterations
|
||||
void alloc_in_loop(int origLen) {
|
||||
if (origLen <= 10) {
|
||||
return;
|
||||
}
|
||||
int len = origLen;
|
||||
int index = 0;
|
||||
while (cond()) {
|
||||
if (index == len) {
|
||||
if (len >= 1000) {
|
||||
return;
|
||||
}
|
||||
len = len * 2; // $ overflow=-
|
||||
}
|
||||
// We want that index < len
|
||||
range(index); // $ MISSING: range="<=InitializeParameter: len-1"
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
// This came from a case where it handled the leftovers before an unrolled loop
|
||||
void mask_at_start(int len) {
|
||||
if (len < 0) {
|
||||
return;
|
||||
}
|
||||
int leftOver = len & 63;
|
||||
for (int i = 0; i < leftOver; i++) {
|
||||
range(i); // $ range=<=62 range=>=0 range="<=Store: ... & ... | Store: leftOver-1" range="<=InitializeParameter: len-1"
|
||||
}
|
||||
// Do something with leftOver
|
||||
for (int index = leftOver; index < len; index+=64) {
|
||||
range(index); // $ range="<=InitializeParameter: len-1"
|
||||
// This should be in bounds
|
||||
range(index + 16); // $ range="<=InitializeParameter: len+15" range="==Phi: index+16" MISSING: range="<=InitializeParameter: len-1"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Same as above but with modulo
|
||||
void mod_at_start(int len) {
|
||||
if (len < 0) {
|
||||
return;
|
||||
}
|
||||
int leftOver = len % 64;
|
||||
for (int i = 0; i < leftOver; i++) {
|
||||
range(i); // $ range=<=62 range=>=0 range="<=Store: ... % ... | Store: leftOver-1" range="<=InitializeParameter: len-1"
|
||||
}
|
||||
// Do something with leftOver
|
||||
for (int index = leftOver; index < len; index+=64) {
|
||||
range(index); // $ range="<=InitializeParameter: len-1"
|
||||
// This should be in bounds
|
||||
range(index + 16); // $ range="<=InitializeParameter: len+15" range="==Phi: index+16" MISSING: range="<=InitializeParameter: len-49"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,9 @@ edges
|
||||
| test.cpp:15:27:15:30 | argv indirection | test.cpp:22:45:22:52 | userName indirection |
|
||||
| test.cpp:22:13:22:20 | sprintf output argument | test.cpp:23:12:23:19 | command1 indirection |
|
||||
| test.cpp:22:45:22:52 | userName indirection | test.cpp:22:13:22:20 | sprintf output argument |
|
||||
| test.cpp:22:45:22:52 | userName indirection | test.cpp:22:45:22:52 | userName indirection |
|
||||
| test.cpp:47:21:47:26 | call to getenv indirection | test.cpp:50:35:50:43 | envCflags indirection |
|
||||
| test.cpp:50:11:50:17 | sprintf output argument | test.cpp:51:10:51:16 | command indirection |
|
||||
| test.cpp:50:35:50:43 | envCflags indirection | test.cpp:50:11:50:17 | sprintf output argument |
|
||||
| test.cpp:50:35:50:43 | envCflags indirection | test.cpp:50:35:50:43 | envCflags indirection |
|
||||
| test.cpp:62:9:62:16 | fread output argument | test.cpp:64:20:64:27 | filename indirection |
|
||||
| test.cpp:64:11:64:17 | strncat output argument | test.cpp:65:10:65:16 | command indirection |
|
||||
| test.cpp:64:20:64:27 | filename indirection | test.cpp:64:11:64:17 | strncat output argument |
|
||||
|
||||
@@ -4,6 +4,8 @@ edges
|
||||
| test.c:35:16:35:23 | userName indirection | test.c:40:25:40:32 | username indirection |
|
||||
| test.c:38:7:38:20 | globalUsername indirection | test.c:51:18:51:23 | query1 indirection |
|
||||
| test.c:40:25:40:32 | username indirection | test.c:38:7:38:20 | globalUsername indirection |
|
||||
| test.c:75:8:75:16 | gets output argument | test.c:76:17:76:25 | userInput indirection |
|
||||
| test.c:75:8:75:16 | gets output argument | test.c:77:20:77:28 | userInput indirection |
|
||||
| test.cpp:39:27:39:30 | argv indirection | test.cpp:43:27:43:33 | access to array indirection |
|
||||
nodes
|
||||
| test.c:14:27:14:30 | argv indirection | semmle.label | argv indirection |
|
||||
@@ -12,10 +14,15 @@ nodes
|
||||
| test.c:38:7:38:20 | globalUsername indirection | semmle.label | globalUsername indirection |
|
||||
| test.c:40:25:40:32 | username indirection | semmle.label | username indirection |
|
||||
| test.c:51:18:51:23 | query1 indirection | semmle.label | query1 indirection |
|
||||
| test.c:75:8:75:16 | gets output argument | semmle.label | gets output argument |
|
||||
| test.c:76:17:76:25 | userInput indirection | semmle.label | userInput indirection |
|
||||
| test.c:77:20:77:28 | userInput indirection | semmle.label | userInput indirection |
|
||||
| test.cpp:39:27:39:30 | argv indirection | semmle.label | argv indirection |
|
||||
| test.cpp:43:27:43:33 | access to array indirection | semmle.label | access to array indirection |
|
||||
subpaths
|
||||
#select
|
||||
| test.c:21:18:21:23 | query1 | test.c:14:27:14:30 | argv indirection | test.c:21:18:21:23 | query1 indirection | This argument to a SQL query function is derived from $@ and then passed to mysql_query(sqlArg). | test.c:14:27:14:30 | argv indirection | user input (a command-line argument) |
|
||||
| test.c:51:18:51:23 | query1 | test.c:14:27:14:30 | argv indirection | test.c:51:18:51:23 | query1 indirection | This argument to a SQL query function is derived from $@ and then passed to mysql_query(sqlArg). | test.c:14:27:14:30 | argv indirection | user input (a command-line argument) |
|
||||
| test.c:76:17:76:25 | userInput | test.c:75:8:75:16 | gets output argument | test.c:76:17:76:25 | userInput indirection | This argument to a SQL query function is derived from $@ and then passed to SQLPrepare(StatementText). | test.c:75:8:75:16 | gets output argument | user input (string read by gets) |
|
||||
| test.c:77:20:77:28 | userInput | test.c:75:8:75:16 | gets output argument | test.c:77:20:77:28 | userInput indirection | This argument to a SQL query function is derived from $@ and then passed to SQLExecDirect(StatementText). | test.c:75:8:75:16 | gets output argument | user input (string read by gets) |
|
||||
| test.cpp:43:27:43:33 | access to array | test.cpp:39:27:39:30 | argv indirection | test.cpp:43:27:43:33 | access to array indirection | This argument to a SQL query function is derived from $@ and then passed to pqxx::work::exec1((unnamed parameter 0)). | test.cpp:39:27:39:30 | argv indirection | user input (a command-line argument) |
|
||||
|
||||
@@ -50,3 +50,29 @@ void badFunc() {
|
||||
snprintf(query1, 1000, "SELECT UID FROM USERS where name = \"%s\"", userName);
|
||||
mysql_query(0, query1); // BAD
|
||||
}
|
||||
|
||||
//ODBC Library Rountines
|
||||
typedef unsigned char SQLCHAR;
|
||||
typedef long int SQLINTEGER;
|
||||
typedef int SQLRETURN;
|
||||
typedef void* SQLHSTMT;
|
||||
|
||||
char* gets(char *str);
|
||||
|
||||
|
||||
SQLRETURN SQLPrepare(
|
||||
SQLHSTMT StatementHandle,
|
||||
SQLCHAR * StatementText,
|
||||
SQLINTEGER TextLength);
|
||||
|
||||
SQLRETURN SQLExecDirect(
|
||||
SQLHSTMT StatementHandle,
|
||||
SQLCHAR * StatementText,
|
||||
SQLINTEGER TextLength);
|
||||
|
||||
void ODBCTests(){
|
||||
char userInput[100];
|
||||
gets(userInput);
|
||||
SQLPrepare(0, userInput, 100); // BAD
|
||||
SQLExecDirect(0, userInput, 100); // BAD
|
||||
}
|
||||
@@ -4,7 +4,6 @@ edges
|
||||
| test.cpp:18:10:18:15 | str indirection [post update] [string] | test.cpp:19:5:19:7 | str indirection [string] |
|
||||
| test.cpp:18:19:18:24 | call to malloc | test.cpp:18:5:18:30 | ... = ... |
|
||||
| test.cpp:19:5:19:7 | str indirection [string] | test.cpp:16:11:16:21 | mk_string_t indirection [string] |
|
||||
| test.cpp:19:5:19:7 | str indirection [string] | test.cpp:19:5:19:7 | str indirection [string] |
|
||||
| test.cpp:39:21:39:31 | call to mk_string_t indirection [string] | test.cpp:42:13:42:15 | str indirection [string] |
|
||||
| test.cpp:39:21:39:31 | call to mk_string_t indirection [string] | test.cpp:72:17:72:19 | str indirection [string] |
|
||||
| test.cpp:39:21:39:31 | call to mk_string_t indirection [string] | test.cpp:80:17:80:19 | str indirection [string] |
|
||||
@@ -16,7 +15,6 @@ edges
|
||||
| test.cpp:90:10:90:15 | str indirection [post update] [string] | test.cpp:91:5:91:7 | str indirection [string] |
|
||||
| test.cpp:90:19:90:24 | call to malloc | test.cpp:90:5:90:34 | ... = ... |
|
||||
| test.cpp:91:5:91:7 | str indirection [string] | test.cpp:88:11:88:30 | mk_string_t_plus_one indirection [string] |
|
||||
| test.cpp:91:5:91:7 | str indirection [string] | test.cpp:91:5:91:7 | str indirection [string] |
|
||||
| test.cpp:96:21:96:40 | call to mk_string_t_plus_one indirection [string] | test.cpp:99:13:99:15 | str indirection [string] |
|
||||
| test.cpp:96:21:96:40 | call to mk_string_t_plus_one indirection [string] | test.cpp:129:17:129:19 | str indirection [string] |
|
||||
| test.cpp:96:21:96:40 | call to mk_string_t_plus_one indirection [string] | test.cpp:137:17:137:19 | str indirection [string] |
|
||||
@@ -26,7 +24,6 @@ edges
|
||||
| test.cpp:147:5:147:34 | ... = ... | test.cpp:147:10:147:15 | str indirection [post update] [string] |
|
||||
| test.cpp:147:10:147:15 | str indirection [post update] [string] | test.cpp:148:5:148:7 | str indirection [string] |
|
||||
| test.cpp:147:19:147:24 | call to malloc | test.cpp:147:5:147:34 | ... = ... |
|
||||
| test.cpp:148:5:148:7 | str indirection [string] | test.cpp:148:5:148:7 | str indirection [string] |
|
||||
| test.cpp:148:5:148:7 | str indirection [string] | test.cpp:152:13:152:15 | str indirection [string] |
|
||||
| test.cpp:148:5:148:7 | str indirection [string] | test.cpp:154:13:154:15 | str indirection [string] |
|
||||
| test.cpp:148:5:148:7 | str indirection [string] | test.cpp:156:13:156:15 | str indirection [string] |
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
edges
|
||||
| test.cpp:4:15:4:33 | call to malloc | test.cpp:5:15:5:22 | ... + ... |
|
||||
| test.cpp:4:15:4:33 | call to malloc | test.cpp:5:15:5:22 | ... + ... |
|
||||
| test.cpp:4:15:4:33 | call to malloc | test.cpp:6:14:6:15 | * ... |
|
||||
| test.cpp:4:15:4:33 | call to malloc | test.cpp:6:14:6:15 | * ... |
|
||||
| test.cpp:4:15:4:33 | call to malloc | test.cpp:8:14:8:21 | * ... |
|
||||
| test.cpp:5:15:5:22 | ... + ... | test.cpp:5:15:5:22 | ... + ... |
|
||||
| test.cpp:5:15:5:22 | ... + ... | test.cpp:6:14:6:15 | * ... |
|
||||
| test.cpp:5:15:5:22 | ... + ... | test.cpp:6:14:6:15 | * ... |
|
||||
@@ -14,10 +10,6 @@ edges
|
||||
| test.cpp:6:14:6:15 | * ... | test.cpp:8:14:8:21 | * ... |
|
||||
| test.cpp:16:15:16:33 | call to malloc | test.cpp:20:14:20:21 | * ... |
|
||||
| test.cpp:28:15:28:37 | call to malloc | test.cpp:29:15:29:28 | ... + ... |
|
||||
| test.cpp:28:15:28:37 | call to malloc | test.cpp:29:15:29:28 | ... + ... |
|
||||
| test.cpp:28:15:28:37 | call to malloc | test.cpp:30:14:30:15 | * ... |
|
||||
| test.cpp:28:15:28:37 | call to malloc | test.cpp:30:14:30:15 | * ... |
|
||||
| test.cpp:28:15:28:37 | call to malloc | test.cpp:32:14:32:21 | * ... |
|
||||
| test.cpp:29:15:29:28 | ... + ... | test.cpp:29:15:29:28 | ... + ... |
|
||||
| test.cpp:29:15:29:28 | ... + ... | test.cpp:30:14:30:15 | * ... |
|
||||
| test.cpp:29:15:29:28 | ... + ... | test.cpp:30:14:30:15 | * ... |
|
||||
@@ -27,29 +19,20 @@ edges
|
||||
| test.cpp:29:15:29:28 | ... + ... | test.cpp:32:14:32:21 | * ... |
|
||||
| test.cpp:30:14:30:15 | * ... | test.cpp:32:14:32:21 | * ... |
|
||||
| test.cpp:51:33:51:35 | end | test.cpp:60:34:60:37 | mk_array output argument |
|
||||
| test.cpp:52:19:52:37 | call to malloc | test.cpp:53:5:53:23 | ... = ... |
|
||||
| test.cpp:52:19:52:37 | call to malloc | test.cpp:53:12:53:23 | ... + ... |
|
||||
| test.cpp:53:5:53:23 | ... = ... | test.cpp:51:33:51:35 | end |
|
||||
| test.cpp:53:12:53:23 | ... + ... | test.cpp:53:5:53:23 | ... = ... |
|
||||
| test.cpp:53:12:53:23 | ... + ... | test.cpp:51:33:51:35 | end |
|
||||
| test.cpp:60:34:60:37 | mk_array output argument | test.cpp:67:9:67:14 | ... = ... |
|
||||
| test.cpp:194:15:194:33 | call to malloc | test.cpp:195:17:195:23 | ... + ... |
|
||||
| test.cpp:194:15:194:33 | call to malloc | test.cpp:195:17:195:23 | ... + ... |
|
||||
| test.cpp:194:15:194:33 | call to malloc | test.cpp:201:5:201:19 | ... = ... |
|
||||
| test.cpp:195:17:195:23 | ... + ... | test.cpp:195:17:195:23 | ... + ... |
|
||||
| test.cpp:195:17:195:23 | ... + ... | test.cpp:201:5:201:19 | ... = ... |
|
||||
| test.cpp:195:17:195:23 | ... + ... | test.cpp:201:5:201:19 | ... = ... |
|
||||
| test.cpp:205:15:205:33 | call to malloc | test.cpp:206:17:206:23 | ... + ... |
|
||||
| test.cpp:205:15:205:33 | call to malloc | test.cpp:206:17:206:23 | ... + ... |
|
||||
| test.cpp:205:15:205:33 | call to malloc | test.cpp:213:5:213:13 | ... = ... |
|
||||
| test.cpp:206:17:206:23 | ... + ... | test.cpp:206:17:206:23 | ... + ... |
|
||||
| test.cpp:206:17:206:23 | ... + ... | test.cpp:213:5:213:13 | ... = ... |
|
||||
| test.cpp:206:17:206:23 | ... + ... | test.cpp:213:5:213:13 | ... = ... |
|
||||
| test.cpp:231:18:231:30 | new[] | test.cpp:232:3:232:20 | ... = ... |
|
||||
| test.cpp:238:20:238:32 | new[] | test.cpp:239:5:239:22 | ... = ... |
|
||||
| test.cpp:260:13:260:24 | new[] | test.cpp:261:14:261:21 | ... + ... |
|
||||
| test.cpp:260:13:260:24 | new[] | test.cpp:261:14:261:21 | ... + ... |
|
||||
| test.cpp:260:13:260:24 | new[] | test.cpp:264:13:264:14 | * ... |
|
||||
| test.cpp:260:13:260:24 | new[] | test.cpp:264:13:264:14 | * ... |
|
||||
| test.cpp:261:14:261:21 | ... + ... | test.cpp:261:14:261:21 | ... + ... |
|
||||
| test.cpp:261:14:261:21 | ... + ... | test.cpp:264:13:264:14 | * ... |
|
||||
| test.cpp:261:14:261:21 | ... + ... | test.cpp:264:13:264:14 | * ... |
|
||||
@@ -58,107 +41,48 @@ edges
|
||||
| test.cpp:264:13:264:14 | * ... | test.cpp:264:13:264:14 | * ... |
|
||||
| test.cpp:264:13:264:14 | * ... | test.cpp:264:13:264:14 | * ... |
|
||||
| test.cpp:270:13:270:24 | new[] | test.cpp:271:14:271:21 | ... + ... |
|
||||
| test.cpp:270:13:270:24 | new[] | test.cpp:271:14:271:21 | ... + ... |
|
||||
| test.cpp:270:13:270:24 | new[] | test.cpp:274:5:274:10 | ... = ... |
|
||||
| test.cpp:271:14:271:21 | ... + ... | test.cpp:271:14:271:21 | ... + ... |
|
||||
| test.cpp:271:14:271:21 | ... + ... | test.cpp:274:5:274:10 | ... = ... |
|
||||
| test.cpp:271:14:271:21 | ... + ... | test.cpp:274:5:274:10 | ... = ... |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:356:15:356:23 | ... + ... |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:356:15:356:23 | ... + ... |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:357:24:357:30 | ... + ... |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:357:24:357:30 | ... + ... |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:358:14:358:26 | end_plus_one indirection |
|
||||
| test.cpp:355:14:355:27 | new[] | test.cpp:359:14:359:32 | ... + ... indirection |
|
||||
| test.cpp:356:15:356:23 | ... + ... | test.cpp:356:15:356:23 | ... + ... |
|
||||
| test.cpp:356:15:356:23 | ... + ... | test.cpp:358:14:358:26 | end_plus_one indirection |
|
||||
| test.cpp:356:15:356:23 | ... + ... | test.cpp:358:14:358:26 | end_plus_one indirection |
|
||||
| test.cpp:356:15:356:23 | ... + ... | test.cpp:359:14:359:32 | ... + ... indirection |
|
||||
| test.cpp:356:15:356:23 | ... + ... | test.cpp:359:14:359:32 | ... + ... indirection |
|
||||
| test.cpp:357:24:357:30 | ... + ... | test.cpp:357:24:357:30 | ... + ... |
|
||||
| test.cpp:357:24:357:30 | ... + ... | test.cpp:358:14:358:26 | end_plus_one indirection |
|
||||
| test.cpp:357:24:357:30 | ... + ... | test.cpp:358:14:358:26 | end_plus_one indirection |
|
||||
| test.cpp:357:24:357:30 | ... + ... | test.cpp:359:14:359:32 | ... + ... indirection |
|
||||
| test.cpp:357:24:357:30 | ... + ... | test.cpp:359:14:359:32 | ... + ... indirection |
|
||||
| test.cpp:377:14:377:27 | new[] | test.cpp:378:15:378:23 | ... + ... |
|
||||
| test.cpp:377:14:377:27 | new[] | test.cpp:378:15:378:23 | ... + ... |
|
||||
| test.cpp:377:14:377:27 | new[] | test.cpp:381:5:381:9 | ... ++ |
|
||||
| test.cpp:377:14:377:27 | new[] | test.cpp:381:5:381:9 | ... ++ |
|
||||
| test.cpp:377:14:377:27 | new[] | test.cpp:384:13:384:16 | end indirection |
|
||||
| test.cpp:378:15:378:23 | ... + ... | test.cpp:378:15:378:23 | ... + ... |
|
||||
| test.cpp:378:15:378:23 | ... + ... | test.cpp:384:13:384:16 | end indirection |
|
||||
| test.cpp:378:15:378:23 | ... + ... | test.cpp:384:13:384:16 | end indirection |
|
||||
| test.cpp:381:5:381:9 | ... ++ | test.cpp:381:5:381:9 | ... ++ |
|
||||
| test.cpp:381:5:381:9 | ... ++ | test.cpp:384:13:384:16 | end indirection |
|
||||
| test.cpp:410:14:410:27 | new[] | test.cpp:411:15:411:23 | & ... |
|
||||
| test.cpp:410:14:410:27 | new[] | test.cpp:411:15:411:23 | & ... |
|
||||
| test.cpp:410:14:410:27 | new[] | test.cpp:413:5:413:8 | ... ++ |
|
||||
| test.cpp:410:14:410:27 | new[] | test.cpp:413:5:413:8 | ... ++ |
|
||||
| test.cpp:410:14:410:27 | new[] | test.cpp:415:7:415:15 | ... = ... |
|
||||
| test.cpp:411:15:411:23 | & ... | test.cpp:411:15:411:23 | & ... |
|
||||
| test.cpp:411:15:411:23 | & ... | test.cpp:415:7:415:15 | ... = ... |
|
||||
| test.cpp:411:15:411:23 | & ... | test.cpp:415:7:415:15 | ... = ... |
|
||||
| test.cpp:413:5:413:8 | ... ++ | test.cpp:413:5:413:8 | ... ++ |
|
||||
| test.cpp:413:5:413:8 | ... ++ | test.cpp:415:7:415:15 | ... = ... |
|
||||
| test.cpp:413:5:413:8 | ... ++ | test.cpp:415:7:415:15 | ... = ... |
|
||||
| test.cpp:421:14:421:27 | new[] | test.cpp:422:15:422:23 | & ... |
|
||||
| test.cpp:421:14:421:27 | new[] | test.cpp:422:15:422:23 | & ... |
|
||||
| test.cpp:421:14:421:27 | new[] | test.cpp:424:5:424:8 | ... ++ |
|
||||
| test.cpp:421:14:421:27 | new[] | test.cpp:424:5:424:8 | ... ++ |
|
||||
| test.cpp:421:14:421:27 | new[] | test.cpp:426:7:426:15 | ... = ... |
|
||||
| test.cpp:422:15:422:23 | & ... | test.cpp:422:15:422:23 | & ... |
|
||||
| test.cpp:422:15:422:23 | & ... | test.cpp:426:7:426:15 | ... = ... |
|
||||
| test.cpp:422:15:422:23 | & ... | test.cpp:426:7:426:15 | ... = ... |
|
||||
| test.cpp:424:5:424:8 | ... ++ | test.cpp:424:5:424:8 | ... ++ |
|
||||
| test.cpp:424:5:424:8 | ... ++ | test.cpp:426:7:426:15 | ... = ... |
|
||||
| test.cpp:424:5:424:8 | ... ++ | test.cpp:426:7:426:15 | ... = ... |
|
||||
| test.cpp:432:14:432:27 | new[] | test.cpp:433:15:433:23 | & ... |
|
||||
| test.cpp:432:14:432:27 | new[] | test.cpp:433:15:433:23 | & ... |
|
||||
| test.cpp:432:14:432:27 | new[] | test.cpp:436:5:436:8 | ... ++ |
|
||||
| test.cpp:432:14:432:27 | new[] | test.cpp:436:5:436:8 | ... ++ |
|
||||
| test.cpp:432:14:432:27 | new[] | test.cpp:438:7:438:15 | ... = ... |
|
||||
| test.cpp:433:15:433:23 | & ... | test.cpp:433:15:433:23 | & ... |
|
||||
| test.cpp:433:15:433:23 | & ... | test.cpp:438:7:438:15 | ... = ... |
|
||||
| test.cpp:433:15:433:23 | & ... | test.cpp:438:7:438:15 | ... = ... |
|
||||
| test.cpp:436:5:436:8 | ... ++ | test.cpp:436:5:436:8 | ... ++ |
|
||||
| test.cpp:436:5:436:8 | ... ++ | test.cpp:438:7:438:15 | ... = ... |
|
||||
| test.cpp:436:5:436:8 | ... ++ | test.cpp:438:7:438:15 | ... = ... |
|
||||
| test.cpp:444:14:444:27 | new[] | test.cpp:445:15:445:23 | & ... |
|
||||
| test.cpp:444:14:444:27 | new[] | test.cpp:445:15:445:23 | & ... |
|
||||
| test.cpp:444:14:444:27 | new[] | test.cpp:448:5:448:8 | ... ++ |
|
||||
| test.cpp:444:14:444:27 | new[] | test.cpp:448:5:448:8 | ... ++ |
|
||||
| test.cpp:444:14:444:27 | new[] | test.cpp:450:7:450:15 | ... = ... |
|
||||
| test.cpp:445:15:445:23 | & ... | test.cpp:445:15:445:23 | & ... |
|
||||
| test.cpp:445:15:445:23 | & ... | test.cpp:450:7:450:15 | ... = ... |
|
||||
| test.cpp:445:15:445:23 | & ... | test.cpp:450:7:450:15 | ... = ... |
|
||||
| test.cpp:448:5:448:8 | ... ++ | test.cpp:448:5:448:8 | ... ++ |
|
||||
| test.cpp:448:5:448:8 | ... ++ | test.cpp:450:7:450:15 | ... = ... |
|
||||
| test.cpp:448:5:448:8 | ... ++ | test.cpp:450:7:450:15 | ... = ... |
|
||||
| test.cpp:480:14:480:27 | new[] | test.cpp:481:15:481:23 | & ... |
|
||||
| test.cpp:480:14:480:27 | new[] | test.cpp:481:15:481:23 | & ... |
|
||||
| test.cpp:480:14:480:27 | new[] | test.cpp:484:5:484:8 | ... ++ |
|
||||
| test.cpp:480:14:480:27 | new[] | test.cpp:484:5:484:8 | ... ++ |
|
||||
| test.cpp:480:14:480:27 | new[] | test.cpp:486:7:486:15 | ... = ... |
|
||||
| test.cpp:481:15:481:23 | & ... | test.cpp:481:15:481:23 | & ... |
|
||||
| test.cpp:481:15:481:23 | & ... | test.cpp:486:7:486:15 | ... = ... |
|
||||
| test.cpp:481:15:481:23 | & ... | test.cpp:486:7:486:15 | ... = ... |
|
||||
| test.cpp:484:5:484:8 | ... ++ | test.cpp:484:5:484:8 | ... ++ |
|
||||
| test.cpp:484:5:484:8 | ... ++ | test.cpp:486:7:486:15 | ... = ... |
|
||||
| test.cpp:484:5:484:8 | ... ++ | test.cpp:486:7:486:15 | ... = ... |
|
||||
| test.cpp:543:14:543:27 | new[] | test.cpp:548:5:548:19 | ... = ... |
|
||||
| test.cpp:554:14:554:27 | new[] | test.cpp:559:5:559:19 | ... = ... |
|
||||
| test.cpp:642:14:642:31 | new[] | test.cpp:647:5:647:19 | ... = ... |
|
||||
| test.cpp:695:13:695:26 | new[] | test.cpp:698:5:698:10 | ... += ... |
|
||||
| test.cpp:695:13:695:26 | new[] | test.cpp:698:5:698:10 | ... += ... |
|
||||
| test.cpp:698:5:698:10 | ... += ... | test.cpp:698:5:698:10 | ... += ... |
|
||||
| test.cpp:698:5:698:10 | ... += ... | test.cpp:701:15:701:16 | p indirection |
|
||||
| test.cpp:705:18:705:18 | q | test.cpp:705:18:705:18 | q |
|
||||
| test.cpp:705:18:705:18 | q | test.cpp:706:12:706:13 | * ... |
|
||||
| test.cpp:705:18:705:18 | q | test.cpp:706:12:706:13 | * ... |
|
||||
| test.cpp:711:13:711:26 | new[] | test.cpp:714:11:714:11 | q |
|
||||
| test.cpp:714:11:714:11 | q | test.cpp:705:18:705:18 | q |
|
||||
| test.cpp:730:12:730:28 | new[] | test.cpp:732:16:732:26 | ... + ... |
|
||||
| test.cpp:730:12:730:28 | new[] | test.cpp:732:16:732:26 | ... + ... |
|
||||
| test.cpp:730:12:730:28 | new[] | test.cpp:733:5:733:12 | ... = ... |
|
||||
| test.cpp:732:16:732:26 | ... + ... | test.cpp:732:16:732:26 | ... + ... |
|
||||
| test.cpp:732:16:732:26 | ... + ... | test.cpp:733:5:733:12 | ... = ... |
|
||||
| test.cpp:732:16:732:26 | ... + ... | test.cpp:733:5:733:12 | ... = ... |
|
||||
@@ -169,10 +93,8 @@ edges
|
||||
| test.cpp:781:14:781:27 | new[] | test.cpp:786:18:786:27 | access to array |
|
||||
| test.cpp:792:60:792:62 | end | test.cpp:800:40:800:43 | mk_array_no_field_flow output argument |
|
||||
| test.cpp:792:60:792:62 | end | test.cpp:832:40:832:43 | mk_array_no_field_flow output argument |
|
||||
| test.cpp:793:14:793:32 | call to malloc | test.cpp:794:5:794:24 | ... = ... |
|
||||
| test.cpp:793:14:793:32 | call to malloc | test.cpp:794:12:794:24 | ... + ... |
|
||||
| test.cpp:794:5:794:24 | ... = ... | test.cpp:792:60:792:62 | end |
|
||||
| test.cpp:794:12:794:24 | ... + ... | test.cpp:794:5:794:24 | ... = ... |
|
||||
| test.cpp:794:12:794:24 | ... + ... | test.cpp:792:60:792:62 | end |
|
||||
| test.cpp:800:40:800:43 | mk_array_no_field_flow output argument | test.cpp:807:7:807:12 | ... = ... |
|
||||
| test.cpp:815:52:815:54 | end | test.cpp:815:52:815:54 | end |
|
||||
| test.cpp:815:52:815:54 | end | test.cpp:821:7:821:12 | ... = ... |
|
||||
@@ -182,8 +104,6 @@ edges
|
||||
| test.cpp:841:18:841:35 | call to malloc | test.cpp:842:3:842:20 | ... = ... |
|
||||
| test.cpp:848:20:848:37 | call to malloc | test.cpp:849:5:849:22 | ... = ... |
|
||||
| test.cpp:856:12:856:35 | call to malloc | test.cpp:857:16:857:29 | ... + ... |
|
||||
| test.cpp:856:12:856:35 | call to malloc | test.cpp:857:16:857:29 | ... + ... |
|
||||
| test.cpp:856:12:856:35 | call to malloc | test.cpp:860:5:860:11 | ... = ... |
|
||||
| test.cpp:857:16:857:29 | ... + ... | test.cpp:857:16:857:29 | ... + ... |
|
||||
| test.cpp:857:16:857:29 | ... + ... | test.cpp:860:5:860:11 | ... = ... |
|
||||
| test.cpp:857:16:857:29 | ... + ... | test.cpp:860:5:860:11 | ... = ... |
|
||||
@@ -204,7 +124,6 @@ nodes
|
||||
| test.cpp:32:14:32:21 | * ... | semmle.label | * ... |
|
||||
| test.cpp:51:33:51:35 | end | semmle.label | end |
|
||||
| test.cpp:52:19:52:37 | call to malloc | semmle.label | call to malloc |
|
||||
| test.cpp:53:5:53:23 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:53:12:53:23 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:60:34:60:37 | mk_array output argument | semmle.label | mk_array output argument |
|
||||
| test.cpp:67:9:67:14 | ... = ... | semmle.label | ... = ... |
|
||||
@@ -232,45 +151,31 @@ nodes
|
||||
| test.cpp:355:14:355:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:356:15:356:23 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:356:15:356:23 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:357:24:357:30 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:357:24:357:30 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:358:14:358:26 | end_plus_one indirection | semmle.label | end_plus_one indirection |
|
||||
| test.cpp:359:14:359:32 | ... + ... indirection | semmle.label | ... + ... indirection |
|
||||
| test.cpp:377:14:377:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:378:15:378:23 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:378:15:378:23 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:381:5:381:9 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:381:5:381:9 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:384:13:384:16 | end indirection | semmle.label | end indirection |
|
||||
| test.cpp:410:14:410:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:411:15:411:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:411:15:411:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:413:5:413:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:413:5:413:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:415:7:415:15 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:421:14:421:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:422:15:422:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:422:15:422:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:424:5:424:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:424:5:424:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:426:7:426:15 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:432:14:432:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:433:15:433:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:433:15:433:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:436:5:436:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:436:5:436:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:438:7:438:15 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:444:14:444:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:445:15:445:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:445:15:445:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:448:5:448:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:448:5:448:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:450:7:450:15 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:480:14:480:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:481:15:481:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:481:15:481:23 | & ... | semmle.label | & ... |
|
||||
| test.cpp:484:5:484:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:484:5:484:8 | ... ++ | semmle.label | ... ++ |
|
||||
| test.cpp:486:7:486:15 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:543:14:543:27 | new[] | semmle.label | new[] |
|
||||
| test.cpp:548:5:548:19 | ... = ... | semmle.label | ... = ... |
|
||||
@@ -278,15 +183,6 @@ nodes
|
||||
| test.cpp:559:5:559:19 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:642:14:642:31 | new[] | semmle.label | new[] |
|
||||
| test.cpp:647:5:647:19 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:695:13:695:26 | new[] | semmle.label | new[] |
|
||||
| test.cpp:698:5:698:10 | ... += ... | semmle.label | ... += ... |
|
||||
| test.cpp:698:5:698:10 | ... += ... | semmle.label | ... += ... |
|
||||
| test.cpp:701:15:701:16 | p indirection | semmle.label | p indirection |
|
||||
| test.cpp:705:18:705:18 | q | semmle.label | q |
|
||||
| test.cpp:705:18:705:18 | q | semmle.label | q |
|
||||
| test.cpp:706:12:706:13 | * ... | semmle.label | * ... |
|
||||
| test.cpp:711:13:711:26 | new[] | semmle.label | new[] |
|
||||
| test.cpp:714:11:714:11 | q | semmle.label | q |
|
||||
| test.cpp:730:12:730:28 | new[] | semmle.label | new[] |
|
||||
| test.cpp:732:16:732:26 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:732:16:732:26 | ... + ... | semmle.label | ... + ... |
|
||||
@@ -300,7 +196,6 @@ nodes
|
||||
| test.cpp:786:18:786:27 | access to array | semmle.label | access to array |
|
||||
| test.cpp:792:60:792:62 | end | semmle.label | end |
|
||||
| test.cpp:793:14:793:32 | call to malloc | semmle.label | call to malloc |
|
||||
| test.cpp:794:5:794:24 | ... = ... | semmle.label | ... = ... |
|
||||
| test.cpp:794:12:794:24 | ... + ... | semmle.label | ... + ... |
|
||||
| test.cpp:800:40:800:43 | mk_array_no_field_flow output argument | semmle.label | mk_array_no_field_flow output argument |
|
||||
| test.cpp:807:7:807:12 | ... = ... | semmle.label | ... = ... |
|
||||
@@ -342,8 +237,6 @@ subpaths
|
||||
| test.cpp:548:5:548:19 | ... = ... | test.cpp:543:14:543:27 | new[] | test.cpp:548:5:548:19 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:543:14:543:27 | new[] | new[] | test.cpp:548:8:548:14 | src_pos | src_pos |
|
||||
| test.cpp:559:5:559:19 | ... = ... | test.cpp:554:14:554:27 | new[] | test.cpp:559:5:559:19 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:554:14:554:27 | new[] | new[] | test.cpp:559:8:559:14 | src_pos | src_pos |
|
||||
| test.cpp:647:5:647:19 | ... = ... | test.cpp:642:14:642:31 | new[] | test.cpp:647:5:647:19 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:642:14:642:31 | new[] | new[] | test.cpp:647:8:647:14 | src_pos | src_pos |
|
||||
| test.cpp:701:15:701:16 | p indirection | test.cpp:695:13:695:26 | new[] | test.cpp:701:15:701:16 | p indirection | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:695:13:695:26 | new[] | new[] | test.cpp:696:19:696:22 | size | size |
|
||||
| test.cpp:706:12:706:13 | * ... | test.cpp:711:13:711:26 | new[] | test.cpp:706:12:706:13 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:711:13:711:26 | new[] | new[] | test.cpp:712:19:712:22 | size | size |
|
||||
| test.cpp:733:5:733:12 | ... = ... | test.cpp:730:12:730:28 | new[] | test.cpp:733:5:733:12 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:730:12:730:28 | new[] | new[] | test.cpp:732:21:732:25 | ... + ... | ... + ... |
|
||||
| test.cpp:767:16:767:29 | access to array | test.cpp:754:18:754:31 | new[] | test.cpp:767:16:767:29 | access to array | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:754:18:754:31 | new[] | new[] | test.cpp:767:22:767:28 | ... + ... | ... + ... |
|
||||
| test.cpp:767:16:767:29 | access to array | test.cpp:754:18:754:31 | new[] | test.cpp:767:16:767:29 | access to array | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:754:18:754:31 | new[] | new[] | test.cpp:772:22:772:28 | ... + ... | ... + ... |
|
||||
|
||||
@@ -3,9 +3,9 @@ using size_t = decltype(sizeof 0); void* malloc(size_t size);
|
||||
void test1(int size) {
|
||||
char* p = (char*)malloc(size);
|
||||
char* q = p + size; // $ alloc=L4
|
||||
char a = *q; // $ deref=L6 // BAD
|
||||
char a = *q; // $ deref=L5->L6 // BAD
|
||||
char b = *(q - 1); // GOOD
|
||||
char c = *(q + 1); // $ deref=L8+1 // BAD
|
||||
char c = *(q + 1); // $ deref=L5->L8+1 // BAD
|
||||
char d = *(q + size); // BAD [NOT DETECTED]
|
||||
char e = *(q - size); // GOOD
|
||||
char f = *(q + size + 1); // BAD [NOT DETECTED]
|
||||
@@ -17,7 +17,7 @@ void test2(int size) {
|
||||
char* q = p + size - 1; // $ alloc=L16
|
||||
char a = *q; // GOOD
|
||||
char b = *(q - 1); // GOOD
|
||||
char c = *(q + 1); // $ deref=L20 // BAD
|
||||
char c = *(q + 1); // $ deref=L17->L20 // BAD
|
||||
char d = *(q + size); // BAD [NOT DETECTED]
|
||||
char e = *(q - size); // GOOD
|
||||
char f = *(q + size + 1); // BAD [NOT DETECTED]
|
||||
@@ -27,9 +27,9 @@ void test2(int size) {
|
||||
void test3(int size) {
|
||||
char* p = (char*)malloc(size + 1);
|
||||
char* q = p + (size + 1); // $ alloc=L28+1
|
||||
char a = *q; // $ deref=L30 // BAD
|
||||
char a = *q; // $ deref=L29->L30 // BAD
|
||||
char b = *(q - 1); // GOOD
|
||||
char c = *(q + 1); // $ deref=L32+1 // BAD
|
||||
char c = *(q + 1); // $ deref=L29->L32+1 // BAD
|
||||
char d = *(q + size); // BAD [NOT DETECTED]
|
||||
char e = *(q - size); // GOOD
|
||||
char f = *(q + size + 1); // BAD [NOT DETECTED]
|
||||
@@ -198,7 +198,7 @@ void test12(unsigned len, unsigned index) {
|
||||
return;
|
||||
}
|
||||
|
||||
p[index] = '\0'; // $ deref=L201 // BAD
|
||||
p[index] = '\0'; // $ deref=L195->L201 // BAD
|
||||
}
|
||||
|
||||
void test13(unsigned len, unsigned index) {
|
||||
@@ -210,7 +210,7 @@ void test13(unsigned len, unsigned index) {
|
||||
return;
|
||||
}
|
||||
|
||||
*q = '\0'; // $ deref=L213 // BAD
|
||||
*q = '\0'; // $ deref=L206->L213 // BAD
|
||||
}
|
||||
|
||||
bool unknown();
|
||||
@@ -261,7 +261,7 @@ void test17(unsigned len)
|
||||
int *end = xs + len; // $ alloc=L260
|
||||
for (int *x = xs; x <= end; x++)
|
||||
{
|
||||
int i = *x; // $ deref=L264 // BAD
|
||||
int i = *x; // $ deref=L261->L264 // BAD
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ void test18(unsigned len)
|
||||
int *end = xs + len; // $ alloc=L270
|
||||
for (int *x = xs; x <= end; x++)
|
||||
{
|
||||
*x = 0; // $ deref=L274 // BAD
|
||||
*x = 0; // $ deref=L271->L274 // BAD
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,8 +355,8 @@ void test25(unsigned size) {
|
||||
char *xs = new char[size];
|
||||
char *end = xs + size; // $ alloc=L355
|
||||
char *end_plus_one = end + 1;
|
||||
int val1 = *end_plus_one; // $ deref=L358+1 // BAD
|
||||
int val2 = *(end_plus_one + 1); // $ deref=L359+2 // BAD
|
||||
int val1 = *end_plus_one; // $ deref=L356->L358+1 // BAD
|
||||
int val2 = *(end_plus_one + 1); // $ deref=L356->L359+2 // BAD
|
||||
}
|
||||
|
||||
void test26(unsigned size) {
|
||||
@@ -381,7 +381,7 @@ void test27(unsigned size, bool b) {
|
||||
end++;
|
||||
}
|
||||
|
||||
int val = *end; // $ deref=L384+1 // BAD
|
||||
int val = *end; // $ deref=L378->L384+1 // BAD
|
||||
}
|
||||
|
||||
void test28(unsigned size) {
|
||||
@@ -412,7 +412,7 @@ void test28_simple2(unsigned size) {
|
||||
if (xs < end) {
|
||||
xs++;
|
||||
if (xs < end + 1) {
|
||||
xs[0] = 0; // $ deref=L415 // BAD
|
||||
xs[0] = 0; // $ deref=L411->L415 // BAD
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -423,7 +423,7 @@ void test28_simple3(unsigned size) {
|
||||
if (xs < end) {
|
||||
xs++;
|
||||
if (xs - 1 < end) {
|
||||
xs[0] = 0; // $ deref=L426 // BAD
|
||||
xs[0] = 0; // $ deref=L422->L426 // BAD
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -435,7 +435,7 @@ void test28_simple4(unsigned size) {
|
||||
end++;
|
||||
xs++;
|
||||
if (xs < end) {
|
||||
xs[0] = 0; // $ deref=L438 // BAD
|
||||
xs[0] = 0; // $ deref=L433->L438 // BAD
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -447,7 +447,7 @@ void test28_simple5(unsigned size) {
|
||||
if (xs < end) {
|
||||
xs++;
|
||||
if (xs < end) {
|
||||
xs[0] = 0; // $ deref=L450 // BAD
|
||||
xs[0] = 0; // $ deref=L445->L450 // BAD
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -483,7 +483,7 @@ void test28_simple8(unsigned size) {
|
||||
if (xs < end) {
|
||||
xs++;
|
||||
if (xs < end - 1) {
|
||||
xs[0] = 0; // $ deref=L486+498 // BAD
|
||||
xs[0] = 0; // $ deref=L481->L486+498 // BAD
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -698,12 +698,12 @@ void test34(unsigned size) {
|
||||
p += 1;
|
||||
}
|
||||
if (p + 1 < end) {
|
||||
int val = *p; // $ deref=L698->L700->L701 // GOOD [FALSE POSITIVE]
|
||||
int val = *p; // GOOD
|
||||
}
|
||||
}
|
||||
|
||||
void deref(char* q) {
|
||||
char x = *q; // $ deref=L714->L705->L706 // BAD
|
||||
char x = *q; // $ MISSING: deref=L714->L705->L706 // BAD [NOT DETECTED]
|
||||
}
|
||||
|
||||
void test35(size_t size, char* q)
|
||||
@@ -730,7 +730,7 @@ void test36(unsigned size, unsigned n) {
|
||||
int* p = new int[size + 2];
|
||||
if(n < size + 1) {
|
||||
int* end = p + (n + 2); // $ alloc=L730+2
|
||||
*end = 0; // $ deref=L733 // BAD
|
||||
*end = 0; // $ deref=L732->L733 // BAD
|
||||
}
|
||||
}
|
||||
|
||||
@@ -857,6 +857,6 @@ void test_regression(size_t size) {
|
||||
int* chend = p + (size + 1); // $ alloc=L856+1
|
||||
|
||||
if(p <= chend) {
|
||||
*p = 42; // $ deref=L860 // BAD
|
||||
*p = 42; // $ deref=L857->L860 // BAD
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ edges
|
||||
| tests.cpp:131:14:131:35 | call to getenv indirection | tests.cpp:107:30:107:32 | msg indirection |
|
||||
| tests.cpp:132:14:132:35 | call to getenv indirection | tests.cpp:114:30:114:32 | msg indirection |
|
||||
| tests.cpp:133:14:133:35 | call to getenv indirection | tests.cpp:122:30:122:32 | msg indirection |
|
||||
| tests.cpp:139:17:139:22 | call to getenv indirection | tests.cpp:141:15:141:20 | secret indirection |
|
||||
| tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | tests_passwd.cpp:18:29:18:31 | pwd indirection |
|
||||
| tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | tests_passwd.cpp:19:26:19:28 | pwd indirection |
|
||||
nodes
|
||||
@@ -37,6 +38,8 @@ nodes
|
||||
| tests.cpp:132:14:132:35 | call to getenv indirection | semmle.label | call to getenv indirection |
|
||||
| tests.cpp:133:14:133:35 | call to getenv indirection | semmle.label | call to getenv indirection |
|
||||
| tests.cpp:133:14:133:35 | call to getenv indirection | semmle.label | call to getenv indirection |
|
||||
| tests.cpp:139:17:139:22 | call to getenv indirection | semmle.label | call to getenv indirection |
|
||||
| tests.cpp:141:15:141:20 | secret indirection | semmle.label | secret indirection |
|
||||
| tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | semmle.label | call to getpwnam indirection |
|
||||
| tests_passwd.cpp:18:29:18:31 | pwd indirection | semmle.label | pwd indirection |
|
||||
| tests_passwd.cpp:19:26:19:28 | pwd indirection | semmle.label | pwd indirection |
|
||||
@@ -56,5 +59,6 @@ subpaths
|
||||
| tests.cpp:119:7:119:12 | buffer indirection | tests.cpp:132:14:132:35 | call to getenv indirection | tests.cpp:119:7:119:12 | buffer indirection | This operation potentially exposes sensitive system data from $@. | tests.cpp:132:14:132:35 | call to getenv indirection | call to getenv indirection |
|
||||
| tests.cpp:124:15:124:17 | msg indirection | tests.cpp:133:14:133:35 | call to getenv indirection | tests.cpp:124:15:124:17 | msg indirection | This operation potentially exposes sensitive system data from $@. | tests.cpp:133:14:133:35 | call to getenv indirection | call to getenv indirection |
|
||||
| tests.cpp:133:14:133:35 | call to getenv indirection | tests.cpp:133:14:133:35 | call to getenv indirection | tests.cpp:133:14:133:35 | call to getenv indirection | This operation potentially exposes sensitive system data from $@. | tests.cpp:133:14:133:35 | call to getenv indirection | call to getenv indirection |
|
||||
| tests.cpp:141:15:141:20 | secret indirection | tests.cpp:139:17:139:22 | call to getenv indirection | tests.cpp:141:15:141:20 | secret indirection | This operation potentially exposes sensitive system data from $@. | tests.cpp:139:17:139:22 | call to getenv indirection | call to getenv indirection |
|
||||
| tests_passwd.cpp:18:29:18:31 | pwd indirection | tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | tests_passwd.cpp:18:29:18:31 | pwd indirection | This operation potentially exposes sensitive system data from $@. | tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | call to getpwnam indirection |
|
||||
| tests_passwd.cpp:19:26:19:28 | pwd indirection | tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | tests_passwd.cpp:19:26:19:28 | pwd indirection | This operation potentially exposes sensitive system data from $@. | tests_passwd.cpp:16:8:16:15 | call to getpwnam indirection | call to getpwnam indirection |
|
||||
|
||||
@@ -132,3 +132,13 @@ void test5()
|
||||
myOutputFn4(getenv("SECRET_TOKEN")); // BAD: outputs the SECRET_TOKEN environment variable
|
||||
myOutputFn5(getenv("SECRET_TOKEN")); // BAD: outputs the SECRET_TOKEN environment variable
|
||||
}
|
||||
|
||||
void RtlZeroMemory(void* dst, size_t len);
|
||||
|
||||
void test_clear_memory(char *username) {
|
||||
char* secret = getenv("SECRET_TOKEN");
|
||||
|
||||
printf("%s", secret); // BAD
|
||||
RtlZeroMemory(secret, 1024);
|
||||
printf("%s", secret); // GOOD
|
||||
}
|
||||
@@ -22,31 +22,19 @@ edges
|
||||
| tests5.cpp:88:2:88:2 | p indirection | tests5.cpp:89:2:89:2 | p indirection |
|
||||
| tests.cpp:15:23:15:43 | call to XercesDOMParser | tests.cpp:17:2:17:2 | p indirection |
|
||||
| tests.cpp:28:23:28:43 | call to XercesDOMParser | tests.cpp:31:2:31:2 | p indirection |
|
||||
| tests.cpp:35:23:35:43 | call to XercesDOMParser | tests.cpp:37:2:37:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:35:23:35:43 | call to XercesDOMParser | tests.cpp:37:2:37:2 | p indirection |
|
||||
| tests.cpp:37:2:37:2 | (AbstractDOMParser *)... indirection | tests.cpp:37:2:37:2 | p indirection |
|
||||
| tests.cpp:37:2:37:2 | p indirection | tests.cpp:37:2:37:2 | p indirection |
|
||||
| tests.cpp:37:2:37:2 | p indirection | tests.cpp:38:2:38:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:37:2:37:2 | p indirection | tests.cpp:38:2:38:2 | p indirection |
|
||||
| tests.cpp:38:2:38:2 | (AbstractDOMParser *)... indirection | tests.cpp:38:2:38:2 | p indirection |
|
||||
| tests.cpp:38:2:38:2 | p indirection | tests.cpp:38:2:38:2 | p indirection |
|
||||
| tests.cpp:38:2:38:2 | p indirection | tests.cpp:39:2:39:2 | p indirection |
|
||||
| tests.cpp:51:23:51:43 | call to XercesDOMParser | tests.cpp:53:2:53:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:51:23:51:43 | call to XercesDOMParser | tests.cpp:53:2:53:2 | p indirection |
|
||||
| tests.cpp:53:2:53:2 | (AbstractDOMParser *)... indirection | tests.cpp:53:2:53:2 | p indirection |
|
||||
| tests.cpp:53:2:53:2 | p indirection | tests.cpp:53:2:53:2 | p indirection |
|
||||
| tests.cpp:53:2:53:2 | p indirection | tests.cpp:55:2:55:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:53:2:53:2 | p indirection | tests.cpp:55:2:55:2 | p indirection |
|
||||
| tests.cpp:55:2:55:2 | (AbstractDOMParser *)... indirection | tests.cpp:55:2:55:2 | p indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | tests.cpp:55:2:55:2 | p indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | tests.cpp:56:2:56:2 | p indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | tests.cpp:57:2:57:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | tests.cpp:57:2:57:2 | p indirection |
|
||||
| tests.cpp:57:2:57:2 | (AbstractDOMParser *)... indirection | tests.cpp:57:2:57:2 | p indirection |
|
||||
| tests.cpp:57:2:57:2 | p indirection | tests.cpp:57:2:57:2 | p indirection |
|
||||
| tests.cpp:57:2:57:2 | p indirection | tests.cpp:59:2:59:2 | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:57:2:57:2 | p indirection | tests.cpp:59:2:59:2 | p indirection |
|
||||
| tests.cpp:59:2:59:2 | (AbstractDOMParser *)... indirection | tests.cpp:59:2:59:2 | p indirection |
|
||||
| tests.cpp:59:2:59:2 | p indirection | tests.cpp:59:2:59:2 | p indirection |
|
||||
| tests.cpp:59:2:59:2 | p indirection | tests.cpp:60:2:60:2 | p indirection |
|
||||
| tests.cpp:66:23:66:43 | call to XercesDOMParser | tests.cpp:69:2:69:2 | p indirection |
|
||||
@@ -104,25 +92,19 @@ nodes
|
||||
| tests.cpp:28:23:28:43 | call to XercesDOMParser | semmle.label | call to XercesDOMParser |
|
||||
| tests.cpp:31:2:31:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:35:23:35:43 | call to XercesDOMParser | semmle.label | call to XercesDOMParser |
|
||||
| tests.cpp:37:2:37:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:37:2:37:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:37:2:37:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:38:2:38:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:38:2:38:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:38:2:38:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:39:2:39:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:51:23:51:43 | call to XercesDOMParser | semmle.label | call to XercesDOMParser |
|
||||
| tests.cpp:53:2:53:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:53:2:53:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:53:2:53:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:55:2:55:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:55:2:55:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:56:2:56:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:57:2:57:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:57:2:57:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:57:2:57:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:59:2:59:2 | (AbstractDOMParser *)... indirection | semmle.label | (AbstractDOMParser *)... indirection |
|
||||
| tests.cpp:59:2:59:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:59:2:59:2 | p indirection | semmle.label | p indirection |
|
||||
| tests.cpp:60:2:60:2 | p indirection | semmle.label | p indirection |
|
||||
|
||||
@@ -99,6 +99,8 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
|
||||
var existsNetCoreRefNugetPackage = false;
|
||||
var existsNetFrameworkRefNugetPackage = false;
|
||||
var existsNetstandardLibRefNugetPackage = false;
|
||||
var existsNetstandardLibNugetPackage = false;
|
||||
|
||||
// Find DLLs in the .Net / Asp.Net Framework
|
||||
// This block needs to come after the nuget restore, because the nuget restore might fetch the .NET Core/Framework reference assemblies.
|
||||
@@ -106,8 +108,13 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
{
|
||||
existsNetCoreRefNugetPackage = IsNugetPackageAvailable("microsoft.netcore.app.ref");
|
||||
existsNetFrameworkRefNugetPackage = IsNugetPackageAvailable("microsoft.netframework.referenceassemblies");
|
||||
existsNetstandardLibRefNugetPackage = IsNugetPackageAvailable("netstandard.library.ref");
|
||||
existsNetstandardLibNugetPackage = IsNugetPackageAvailable("netstandard.library");
|
||||
|
||||
if (existsNetCoreRefNugetPackage || existsNetFrameworkRefNugetPackage)
|
||||
if (existsNetCoreRefNugetPackage
|
||||
|| existsNetFrameworkRefNugetPackage
|
||||
|| existsNetstandardLibRefNugetPackage
|
||||
|| existsNetstandardLibNugetPackage)
|
||||
{
|
||||
progressMonitor.LogInfo("Found .NET Core/Framework DLLs in NuGet packages. Not adding installation directory.");
|
||||
}
|
||||
@@ -125,7 +132,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
UseReference(filename);
|
||||
}
|
||||
|
||||
RemoveUnnecessaryNugetPackages(existsNetCoreRefNugetPackage, existsNetFrameworkRefNugetPackage);
|
||||
RemoveUnnecessaryNugetPackages(existsNetCoreRefNugetPackage, existsNetFrameworkRefNugetPackage, existsNetstandardLibRefNugetPackage, existsNetstandardLibNugetPackage);
|
||||
ResolveConflicts();
|
||||
|
||||
// Output the findings
|
||||
@@ -160,7 +167,8 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
DateTime.Now - startTime);
|
||||
}
|
||||
|
||||
private void RemoveUnnecessaryNugetPackages(bool existsNetCoreRefNugetPackage, bool existsNetFrameworkRefNugetPackage)
|
||||
private void RemoveUnnecessaryNugetPackages(bool existsNetCoreRefNugetPackage, bool existsNetFrameworkRefNugetPackage,
|
||||
bool existsNetstandardLibRefNugetPackage, bool existsNetstandardLibNugetPackage)
|
||||
{
|
||||
RemoveNugetAnalyzerReferences();
|
||||
RemoveRuntimeNugetPackageReferences();
|
||||
@@ -172,10 +180,38 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
RemoveNugetPackageReference("microsoft.aspnetcore.app.ref");
|
||||
}
|
||||
|
||||
if (existsNetCoreRefNugetPackage && existsNetFrameworkRefNugetPackage)
|
||||
// Multiple dotnet framework packages could be present. We keep only one.
|
||||
// The order of the packages is important, we're keeping the first one that is present in the nuget cache.
|
||||
var packagesInPrioOrder = new (bool isPresent, string prefix)[]
|
||||
{
|
||||
// Multiple packages are available, we keep only one:
|
||||
RemoveNugetPackageReference("microsoft.netframework.referenceassemblies.");
|
||||
// net7.0, ... net5.0, netcoreapp3.1, netcoreapp3.0
|
||||
(existsNetCoreRefNugetPackage, "microsoft.netcore.app.ref"),
|
||||
// net48, ..., net20
|
||||
(existsNetFrameworkRefNugetPackage, "microsoft.netframework.referenceassemblies."),
|
||||
// netstandard2.1
|
||||
(existsNetstandardLibRefNugetPackage, "netstandard.library.ref"),
|
||||
// netstandard2.0
|
||||
(existsNetstandardLibNugetPackage, "netstandard.library")
|
||||
};
|
||||
|
||||
for (var i = 0; i < packagesInPrioOrder.Length; i++)
|
||||
{
|
||||
var (isPresent, _) = packagesInPrioOrder[i];
|
||||
if (!isPresent)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Package is present, remove all the lower priority packages:
|
||||
for (var j = i + 1; j < packagesInPrioOrder.Length; j++)
|
||||
{
|
||||
var (otherIsPresent, otherPrefix) = packagesInPrioOrder[j];
|
||||
if (otherIsPresent)
|
||||
{
|
||||
RemoveNugetPackageReference(otherPrefix);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// TODO: There could be multiple `microsoft.netframework.referenceassemblies` packages,
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 1.7.2
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 1.7.1
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
## 1.7.2
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.7.1
|
||||
lastReleaseVersion: 1.7.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-solorigate-all
|
||||
version: 1.7.2-dev
|
||||
version: 1.7.3-dev
|
||||
groups:
|
||||
- csharp
|
||||
- solorigate
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 1.7.2
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 1.7.1
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
## 1.7.2
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.7.1
|
||||
lastReleaseVersion: 1.7.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-solorigate-queries
|
||||
version: 1.7.2-dev
|
||||
version: 1.7.3-dev
|
||||
groups:
|
||||
- csharp
|
||||
- solorigate
|
||||
|
||||
@@ -168,6 +168,5 @@
|
||||
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/WindowsBase.dll |
|
||||
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/mscorlib.dll |
|
||||
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/netstandard.dll |
|
||||
| /netstandard.library/2.0.3/build/netstandard2.0/ref/System.ComponentModel.Composition.dll |
|
||||
| /newtonsoft.json/12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll |
|
||||
| /nunit/3.13.3/lib/netstandard2.0/nunit.framework.dll |
|
||||
|
||||
@@ -212,6 +212,5 @@
|
||||
| /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/UIAutomationTypes.dll |
|
||||
| /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/WindowsBase.dll |
|
||||
| /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/WindowsFormsIntegration.dll |
|
||||
| /netstandard.library/2.0.3/build/netstandard2.0/ref/System.ComponentModel.Composition.dll |
|
||||
| /newtonsoft.json/12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll |
|
||||
| /nunit/3.13.3/lib/netstandard2.0/nunit.framework.dll |
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.8.2
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 0.8.1
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
3
csharp/ql/lib/change-notes/released/0.8.2.md
Normal file
3
csharp/ql/lib/change-notes/released/0.8.2.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## 0.8.2
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 0.8.1
|
||||
lastReleaseVersion: 0.8.2
|
||||
|
||||
6
csharp/ql/lib/ext/generated/AssemblyStripper.model.yml
Normal file
6
csharp/ql/lib/ext/generated/AssemblyStripper.model.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["AssemblyStripper", "AssemblyStripper", "StripAssembly", "(System.String,System.String)", "summary", "df-generated"]
|
||||
7
csharp/ql/lib/ext/generated/Generators.model.yml
Normal file
7
csharp/ql/lib/ext/generated/Generators.model.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Generators", "EventSourceGenerator", "Execute", "(Microsoft.CodeAnalysis.GeneratorExecutionContext)", "summary", "df-generated"]
|
||||
- ["Generators", "EventSourceGenerator", "Initialize", "(Microsoft.CodeAnalysis.GeneratorInitializationContext)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,31 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Add<>", "(System.Void*,System.Int32)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Add<>", "(T,System.Int32)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Add<>", "(T,System.IntPtr)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "AddByteOffset<>", "(T,System.IntPtr)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "AreSame<>", "(T,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "As<,>", "(TFrom)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "As<>", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "AsPointer<>", "(T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "AsRef<>", "(System.Void*)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "AsRef<>", "(T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "ByteOffset<>", "(T,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "InitBlockUnaligned", "(System.Byte,System.Byte,System.UInt32)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "IsAddressGreaterThan<>", "(T,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "IsAddressLessThan<>", "(T,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "IsNullRef<>", "(T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "NullRef<>", "()", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Read<>", "(System.Byte)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Read<>", "(System.Void*)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "ReadUnaligned<>", "(System.Byte)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "ReadUnaligned<>", "(System.Void*)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "SizeOf<>", "()", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "SkipInit<>", "(T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Write<>", "(System.Byte,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "Write<>", "(System.Void*,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "WriteUnaligned<>", "(System.Byte,T)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.CompilerServices", "Unsafe", "WriteUnaligned<>", "(System.Void*,T)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,7 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Internal.Runtime.InteropServices", "ComponentActivator", "GetFunctionPointer", "(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)", "summary", "df-generated"]
|
||||
- ["Internal.Runtime.InteropServices", "ComponentActivator", "LoadAssemblyAndGetFunctionPointer", "(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)", "summary", "df-generated"]
|
||||
9
csharp/ql/lib/ext/generated/Internal.model.yml
Normal file
9
csharp/ql/lib/ext/generated/Internal.model.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Internal", "Console", "Write", "(System.String)", "summary", "df-generated"]
|
||||
- ["Internal", "Console", "WriteLine", "()", "summary", "df-generated"]
|
||||
- ["Internal", "Console", "WriteLine", "(System.String)", "summary", "df-generated"]
|
||||
- ["Internal", "Console+Error", "Write", "(System.String)", "summary", "df-generated"]
|
||||
42
csharp/ql/lib/ext/generated/JsonToItemsTaskFactory.model.yml
Normal file
42
csharp/ql/lib/ext/generated/JsonToItemsTaskFactory.model.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", False, "GetTaskParameters", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", False, "Initialize", "(System.String,System.Collections.Generic.IDictionary<System.String,Microsoft.Build.Framework.TaskPropertyInfo>,System.String,Microsoft.Build.Framework.IBuildEngine)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+CaseInsensitiveDictionaryConverter", False, "Read", "(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItemConverter", False, "Read", "(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", False, "SetPropertyValue", "(Microsoft.Build.Framework.TaskPropertyInfo,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", False, "get_BuildEngine", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", False, "set_BuildEngine", "(Microsoft.Build.Framework.IBuildEngine)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "CleanupTask", "(Microsoft.Build.Framework.ITask)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "CreateTask", "(Microsoft.Build.Framework.IBuildEngine)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "get_FactoryName", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory", "get_TaskType", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+CaseInsensitiveDictionaryConverter", "Write", "(System.Text.Json.Utf8JsonWriter,System.Collections.Generic.Dictionary<System.String,System.String>,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItem", "JsonModelItem", "(System.String,System.Collections.Generic.Dictionary<System.String,System.String>)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItem", "get_Identity", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItem", "get_Metadata", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItemConverter", "JsonModelItemConverter", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelItemConverter", "Write", "(System.Text.Json.Utf8JsonWriter,JsonToItemsTaskFactory.JsonToItemsTaskFactory+JsonModelItem,System.Text.Json.JsonSerializerOptions)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelRoot", "JsonModelRoot", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelRoot", "get_Items", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelRoot", "get_Properties", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelRoot", "set_Items", "(System.Collections.Generic.Dictionary<System.String,JsonToItemsTaskFactory.JsonToItemsTaskFactory+JsonModelItem[]>)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonModelRoot", "set_Properties", "(System.Collections.Generic.Dictionary<System.String,System.String>)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "ConvertItems", "(JsonToItemsTaskFactory.JsonToItemsTaskFactory+JsonModelItem[])", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "Execute", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "GetJsonAsync", "(System.String,System.IO.FileStream)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "GetPropertyValue", "(Microsoft.Build.Framework.TaskPropertyInfo)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "JsonToItemsTask", "(System.String,System.Boolean)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "TryGetJson", "(System.String,JsonToItemsTaskFactory.JsonToItemsTaskFactory+JsonModelRoot)", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "get_HostObject", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "get_JsonOptions", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "get_TaskName", "()", "summary", "df-generated"]
|
||||
- ["JsonToItemsTaskFactory", "JsonToItemsTaskFactory+JsonToItemsTask", "set_HostObject", "(Microsoft.Build.Framework.ITaskHost)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,37 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "BinaryOperation", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "BinaryOperation", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[3].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "Convert", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "GetIndex", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "GetIndex", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "GetMember", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "GetMember", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[3].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "Invoke", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "Invoke", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "InvokeConstructor", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "InvokeConstructor", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "InvokeMember", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable<System.Type>,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[4].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "IsEvent", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "SetIndex", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "SetIndex", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "SetMember", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "SetMember", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[3].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "UnaryOperation", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "Binder", False, "UnaryOperation", "(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo>)", "", "Argument[3].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "CSharpArgumentInfo", "Create", "(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderException", "RuntimeBinderException", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderException", "RuntimeBinderException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderException", "RuntimeBinderException", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderException", "RuntimeBinderException", "(System.String,System.Exception)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderInternalCompilerException", "RuntimeBinderInternalCompilerException", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderInternalCompilerException", "RuntimeBinderInternalCompilerException", "(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderInternalCompilerException", "RuntimeBinderInternalCompilerException", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp.RuntimeBinder", "RuntimeBinderInternalCompilerException", "RuntimeBinderInternalCompilerException", "(System.String,System.Exception)", "summary", "df-generated"]
|
||||
17
csharp/ql/lib/ext/generated/Microsoft.CSharp.model.yml
Normal file
17
csharp/ql/lib/ext/generated/Microsoft.CSharp.model.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", False, "CSharpCodeProvider", "(System.Collections.Generic.IDictionary<System.String,System.String>)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", False, "CreateCompiler", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", False, "CreateGenerator", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", False, "GenerateCodeFromMember", "(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", False, "GenerateCodeFromMember", "(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", "CSharpCodeProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", "GetConverter", "(System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.CSharp", "CSharpCodeProvider", "get_FileExtension", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,52 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "BuildTask", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "get_BuildEngine", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "get_HostObject", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "set_BuildEngine", "(Microsoft.Build.Framework.IBuildEngine)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "BuildTask", "set_HostObject", "(Microsoft.Build.Framework.ITaskHost)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateChecksums", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateChecksums", "get_Items", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateChecksums", "set_Items", "(Microsoft.Build.Framework.ITaskItem[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_Files", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PackageId", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PackageVersion", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PermitDllAndExeFilesLackingFileVersion", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PlatformManifestFile", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PreferredPackages", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "get_PropsFile", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_Files", "(Microsoft.Build.Framework.ITaskItem[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PackageId", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PackageVersion", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PermitDllAndExeFilesLackingFileVersion", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PlatformManifestFile", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PreferredPackages", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateFileVersionProps", "set_PropsFile", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "get_OutputPath", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "get_RunCommands", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "get_SetCommands", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "get_TemplatePath", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "set_OutputPath", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "set_RunCommands", "(System.String[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "set_SetCommands", "(System.String[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateRunScript", "set_TemplatePath", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "get_RuntimeGraphFiles", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "get_SharedFrameworkDirectory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "get_TargetRuntimeIdentifier", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "set_RuntimeGraphFiles", "(System.String[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "set_SharedFrameworkDirectory", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "GenerateTestSharedFrameworkDepsFile", "set_TargetRuntimeIdentifier", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "Execute", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "get_Branches", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "get_Platforms", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "get_ReadmeFile", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "set_Branches", "(Microsoft.Build.Framework.ITaskItem[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "set_Platforms", "(Microsoft.Build.Framework.ITaskItem[])", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.Build.Tasks", "RegenerateDownloadTable", "set_ReadmeFile", "(System.String)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,11 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Add<>", "(TValue,System.Collections.Generic.IEqualityComparer<TValue>)", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "Start", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.DotNet.PlatformAbstractions", "HashCodeCombiner", "get_CombinedHash", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,50 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "get_AbsoluteExpiration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "get_AbsoluteExpirationRelativeToNow", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "get_SlidingExpiration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "set_AbsoluteExpiration", "(System.Nullable<System.DateTimeOffset>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "set_AbsoluteExpirationRelativeToNow", "(System.Nullable<System.TimeSpan>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheEntryOptions", False, "set_SlidingExpiration", "(System.Nullable<System.TimeSpan>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "GetString", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "GetStringAsync", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "Set", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Byte[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "SetAsync", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Byte[],System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "SetString", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "SetString", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "SetStringAsync", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "DistributedCacheExtensions", "SetStringAsync", "(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "Get", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "GetAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "Refresh", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "RefreshAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "Remove", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "RemoveAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "Set", "(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "IDistributedCache", "SetAsync", "(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "Get", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "GetAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "MemoryDistributedCache", "(Microsoft.Extensions.Options.IOptions<Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "MemoryDistributedCache", "(Microsoft.Extensions.Options.IOptions<Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions>,Microsoft.Extensions.Logging.ILoggerFactory)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "Refresh", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "RefreshAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "Remove", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "RemoveAsync", "(System.String,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "Set", "(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Distributed", "MemoryDistributedCache", "SetAsync", "(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,100 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetOptions", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetOptions", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetOptions", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetPriority", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.CacheItemPriority)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSize", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetValue", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetValue", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheEntryExtensions", False, "SetValue", "(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.DateTimeOffset)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", False, "Set<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.TimeSpan)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", False, "CreateEntry", "(System.Object)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", False, "MemoryCache", "(Microsoft.Extensions.Options.IOptions<Microsoft.Extensions.Caching.Memory.MemoryCacheOptions>,Microsoft.Extensions.Logging.ILoggerFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "AddExpirationToken", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetAbsoluteExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetPriority", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.CacheItemPriority)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetSize", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.Int64)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "Argument[0]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryExtensions", False, "SetSlidingExpiration", "(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "get_AbsoluteExpiration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "get_AbsoluteExpirationRelativeToNow", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "get_Size", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "get_SlidingExpiration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "set_AbsoluteExpiration", "(System.Nullable<System.DateTimeOffset>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "set_AbsoluteExpirationRelativeToNow", "(System.Nullable<System.TimeSpan>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "set_Size", "(System.Nullable<System.Int64>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", False, "set_SlidingExpiration", "(System.Nullable<System.TimeSpan>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", False, "get_SizeLimit", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", False, "get_Value", "()", "", "Argument[this]", "ReturnValue", "value", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", False, "set_SizeLimit", "(System.Nullable<System.Int64>)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "Get", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "Get<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "CacheExtensions", "TryGetValue<>", "(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_AbsoluteExpiration", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_AbsoluteExpirationRelativeToNow", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_ExpirationTokens", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_Key", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_PostEvictionCallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_Priority", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_Size", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_SlidingExpiration", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_AbsoluteExpiration", "(System.Nullable<System.DateTimeOffset>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_AbsoluteExpirationRelativeToNow", "(System.Nullable<System.TimeSpan>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_Priority", "(Microsoft.Extensions.Caching.Memory.CacheItemPriority)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_Size", "(System.Nullable<System.Int64>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_SlidingExpiration", "(System.Nullable<System.TimeSpan>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "ICacheEntry", "set_Value", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "IMemoryCache", "CreateEntry", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "IMemoryCache", "Remove", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "IMemoryCache", "TryGetValue", "(System.Object,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "Clear", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "Compact", "(System.Double)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "Dispose", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "MemoryCache", "(Microsoft.Extensions.Options.IOptions<Microsoft.Extensions.Caching.Memory.MemoryCacheOptions>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "Remove", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "TryGetValue", "(System.Object,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCache", "get_Count", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", "get_ExpirationTokens", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", "get_PostEvictionCallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", "get_Priority", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheEntryOptions", "set_Priority", "(Microsoft.Extensions.Caching.Memory.CacheItemPriority)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "get_Clock", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "get_CompactionPercentage", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "get_ExpirationScanFrequency", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "get_TrackLinkedCacheEntries", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "set_Clock", "(Microsoft.Extensions.Internal.ISystemClock)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "set_CompactionPercentage", "(System.Double)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "set_ExpirationScanFrequency", "(System.TimeSpan)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryCacheOptions", "set_TrackLinkedCacheEntries", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "MemoryDistributedCacheOptions", "MemoryDistributedCacheOptions", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "PostEvictionCallbackRegistration", "get_EvictionCallback", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "PostEvictionCallbackRegistration", "get_State", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Caching.Memory", "PostEvictionCallbackRegistration", "set_State", "(System.Object)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,14 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationProvider", "CommandLineConfigurationProvider", "(System.Collections.Generic.IEnumerable<System.String>,System.Collections.Generic.IDictionary<System.String,System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationProvider", "get_Args", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationProvider", "set_Args", "(System.Collections.Generic.IEnumerable<System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationSource", "get_Args", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationSource", "get_SwitchMappings", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationSource", "set_Args", "(System.Collections.Generic.IEnumerable<System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.CommandLine", "CommandLineConfigurationSource", "set_SwitchMappings", "(System.Collections.Generic.IDictionary<System.String,System.String>)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,16 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationProvider", False, "EnvironmentVariablesConfigurationProvider", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationProvider", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationProvider", "EnvironmentVariablesConfigurationProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationSource", "get_Prefix", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.EnvironmentVariables", "EnvironmentVariablesConfigurationSource", "set_Prefix", "(System.String)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,12 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniConfigurationProvider", "IniConfigurationProvider", "(Microsoft.Extensions.Configuration.Ini.IniConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniStreamConfigurationProvider", "IniStreamConfigurationProvider", "(Microsoft.Extensions.Configuration.Ini.IniStreamConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniStreamConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniStreamConfigurationProvider", "Read", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Ini", "IniStreamConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,11 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonConfigurationProvider", "JsonConfigurationProvider", "(Microsoft.Extensions.Configuration.Json.JsonConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonStreamConfigurationProvider", "JsonStreamConfigurationProvider", "(Microsoft.Extensions.Configuration.Json.JsonStreamConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonStreamConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Json", "JsonStreamConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,14 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Memory", "MemoryConfigurationProvider", False, "MemoryConfigurationProvider", "(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Memory", "MemoryConfigurationSource", False, "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Memory", "MemoryConfigurationProvider", "Add", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Memory", "MemoryConfigurationSource", "get_InitialData", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Memory", "MemoryConfigurationSource", "set_InitialData", "(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.String>>)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,12 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.UserSecrets", "PathHelper", False, "GetSecretsPathFromSecretsId", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.UserSecrets", "UserSecretsIdAttribute", "UserSecretsIdAttribute", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.UserSecrets", "UserSecretsIdAttribute", "get_UserSecretsId", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,19 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", False, "CreateDecryptingXmlReader", "(System.IO.Stream,System.Xml.XmlReaderSettings)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationProvider", "XmlConfigurationProvider", "(Microsoft.Extensions.Configuration.Xml.XmlConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", "DecryptDocumentAndCreateXmlReader", "(System.Xml.XmlDocument)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlDocumentDecryptor", "XmlDocumentDecryptor", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "Read", "(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationProvider", "XmlStreamConfigurationProvider", "(Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration.Xml", "XmlStreamConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,198 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedBuilderExtensions", False, "AddConfiguration", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedBuilderExtensions", False, "AddConfiguration", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", False, "GetChildKeys", "(System.Collections.Generic.IEnumerable<System.String>,System.String)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", False, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", False, "TryGet", "(System.String,System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "CommandLineConfigurationExtensions", False, "AddCommandLine", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "CommandLineConfigurationExtensions", False, "AddCommandLine", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[],System.Collections.Generic.IDictionary<System.String,System.String>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "Get", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "Get<>", "(Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue", "(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue<>", "(Microsoft.Extensions.Configuration.IConfiguration,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue<>", "(Microsoft.Extensions.Configuration.IConfiguration,System.String,T)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", False, "GetValue<>", "(Microsoft.Extensions.Configuration.IConfiguration,System.String,T)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[this]", "ReturnValue", "value", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", False, "GetConnectionString", "(Microsoft.Extensions.Configuration.IConfiguration,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", False, "GetRequiredSection", "(Microsoft.Extensions.Configuration.IConfiguration,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", False, "GetRequiredSection", "(Microsoft.Extensions.Configuration.IConfiguration,System.String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "", "Argument[this]", "ReturnValue", "value", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "Build", "()", "", "Argument[this]", "ReturnValue", "value", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "GetSection", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "GetSection", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "get_Item", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "get_Properties", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "get_Providers", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", False, "get_Sources", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationPath", False, "Combine", "(System.Collections.Generic.IEnumerable<System.String>)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationPath", False, "Combine", "(System.String[])", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationPath", False, "GetParentPath", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationPath", False, "GetSectionKey", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", True, "GetChildKeys", "(System.Collections.Generic.IEnumerable<System.String>,System.String)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", False, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "ConfigurationRoot", "(System.Collections.Generic.IList<Microsoft.Extensions.Configuration.IConfigurationProvider>)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "GetReloadToken", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "GetSection", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "GetSection", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "get_Item", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", False, "get_Providers", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRootExtensions", False, "GetDebugView", "(Microsoft.Extensions.Configuration.IConfigurationRoot)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "ConfigurationSection", "(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "ConfigurationSection", "(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "get_Item", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "get_Key", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "get_Path", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", False, "get_Value", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "EnvironmentVariablesExtensions", False, "AddEnvironmentVariables", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "EnvironmentVariablesExtensions", False, "AddEnvironmentVariables", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "SetBasePath", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", False, "SetFileProvider", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IniConfigurationExtensions", False, "AddIniStream", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "JsonConfigurationExtensions", False, "AddJsonStream", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "MemoryConfigurationBuilderExtensions", False, "AddInMemoryCollection", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "MemoryConfigurationBuilderExtensions", False, "AddInMemoryCollection", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.String>>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets<>", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets<>", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "UserSecretsConfigurationExtensions", False, "AddUserSecrets<>", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlFile", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "XmlConfigurationExtensions", False, "AddXmlStream", "(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.Configuration", "BinderOptions", "get_BindNonPublicProperties", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "BinderOptions", "get_ErrorOnUnknownConfiguration", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "BinderOptions", "set_BindNonPublicProperties", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "BinderOptions", "set_ErrorOnUnknownConfiguration", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", "ChainedConfigurationProvider", "(Microsoft.Extensions.Configuration.ChainedConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationProvider", "Set", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "get_Configuration", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "get_ShouldDisposeConfiguration", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "set_Configuration", "(Microsoft.Extensions.Configuration.IConfiguration)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ChainedConfigurationSource", "set_ShouldDisposeConfiguration", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Bind", "(Microsoft.Extensions.Configuration.IConfiguration,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBinder", "Bind", "(Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", "Build", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", "get_Properties", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationBuilder", "get_Sources", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "ConfigurationDebugViewContext", "(System.String,System.String,System.String,Microsoft.Extensions.Configuration.IConfigurationProvider)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "get_ConfigurationProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "get_Key", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationDebugViewContext", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", "AsEnumerable", "(Microsoft.Extensions.Configuration.IConfiguration)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", "AsEnumerable", "(Microsoft.Extensions.Configuration.IConfiguration,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationExtensions", "Exists", "(Microsoft.Extensions.Configuration.IConfigurationSection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationKeyComparer", "Compare", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationKeyComparer", "get_Instance", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationKeyNameAttribute", "ConfigurationKeyNameAttribute", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationKeyNameAttribute", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", "ConfigurationManager", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", "GetChildren", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", "Reload", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationManager", "set_Item", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "ConfigurationProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "OnReload", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "Set", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "ToString", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "TryGet", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "get_Data", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationProvider", "set_Data", "(System.Collections.Generic.IDictionary<System.String,System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationReloadToken", "OnReload", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationReloadToken", "get_ActiveChangeCallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationReloadToken", "get_HasChanged", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", "GetChildren", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", "Reload", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationRoot", "set_Item", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", "GetChildren", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", "GetReloadToken", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", "GetSection", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", "set_Item", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "ConfigurationSection", "set_Value", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", "GetFileLoadExceptionHandler", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationExtensions", "GetFileProvider", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "Dispose", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "FileConfigurationProvider", "(Microsoft.Extensions.Configuration.FileConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "ToString", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationProvider", "get_Source", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "EnsureDefaults", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "ResolveFileProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_FileProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_OnLoadException", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_Optional", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_ReloadDelay", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "get_ReloadOnChange", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "set_FileProvider", "(Microsoft.Extensions.FileProviders.IFileProvider)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "set_Optional", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "set_Path", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "set_ReloadDelay", "(System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileConfigurationSource", "set_ReloadOnChange", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "get_Exception", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "get_Ignore", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "get_Provider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "set_Exception", "(System.Exception)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "set_Ignore", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "FileLoadExceptionContext", "set_Provider", "(Microsoft.Extensions.Configuration.FileConfigurationProvider)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfiguration", "GetChildren", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfiguration", "GetReloadToken", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfiguration", "GetSection", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfiguration", "get_Item", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfiguration", "set_Item", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationBuilder", "Add", "(Microsoft.Extensions.Configuration.IConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationBuilder", "Build", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationBuilder", "get_Properties", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationBuilder", "get_Sources", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationProvider", "GetChildKeys", "(System.Collections.Generic.IEnumerable<System.String>,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationProvider", "GetReloadToken", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationProvider", "Set", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationProvider", "TryGet", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationRoot", "Reload", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationRoot", "get_Providers", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationSection", "get_Key", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationSection", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationSection", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationSection", "set_Value", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "IConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationProvider", "Load", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationProvider", "Load", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationProvider", "StreamConfigurationProvider", "(Microsoft.Extensions.Configuration.StreamConfigurationSource)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationProvider", "get_Source", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationSource", "Build", "(Microsoft.Extensions.Configuration.IConfigurationBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationSource", "get_Stream", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.Configuration", "StreamConfigurationSource", "set_Stream", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,37 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>)", "", "Argument[1].Element", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Add", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>)", "", "Argument[1].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "RemoveAll", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "RemoveAll<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Replace", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Replace", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "Replace", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "TryAdd", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "TryAdd", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>)", "", "Argument[1].Element", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "TryAddEnumerable", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "", "Argument[1]", "Argument[0].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", False, "TryAddEnumerable", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>)", "", "Argument[1].Element", "Argument[0].Element", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddScoped<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddSingleton<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Extensions", "ServiceCollectionDescriptorExtensions", "TryAddTransient<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,97 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithNestedReferencesToProvider", False, "ClassWithNestedReferencesToProvider", "(System.IServiceProvider)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackService", False, "FakeDisposableCallbackService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.FakeDisposeCallback)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClass", "AnotherClass", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClass", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClassAcceptingData", "AnotherClassAcceptingData", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClassAcceptingData", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClassAcceptingData", "get_One", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "AnotherClassAcceptingData", "get_Two", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassImplementingIComparable", "CompareTo", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.ClassImplementingIComparable)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAbstractClassConstraint<>", "ClassWithAbstractClassConstraint", "(T)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAbstractClassConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "ClassWithAmbiguousCtors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "ClassWithAmbiguousCtors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "ClassWithAmbiguousCtors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.String,System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "ClassWithAmbiguousCtors", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "get_CtorUsed", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "get_Data1", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "get_Data2", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtors", "set_CtorUsed", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtorsAndAttribute", "ClassWithAmbiguousCtorsAndAttribute", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeOuterService,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtorsAndAttribute", "ClassWithAmbiguousCtorsAndAttribute", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtorsAndAttribute", "ClassWithAmbiguousCtorsAndAttribute", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtorsAndAttribute", "get_CtorUsed", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithAmbiguousCtorsAndAttribute", "set_CtorUsed", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithClassConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithInterfaceConstraint<>", "ClassWithInterfaceConstraint", "(T)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithInterfaceConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithMultipleMarkedCtors", "ClassWithMultipleMarkedCtors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithMultipleMarkedCtors", "ClassWithMultipleMarkedCtors", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithNestedReferencesToProvider", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithNewConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithNoConstraints<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithSelfReferencingConstraint<>", "ClassWithSelfReferencingConstraint", "(T)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithSelfReferencingConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithServiceProvider", "ClassWithServiceProvider", "(System.IServiceProvider)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithServiceProvider", "get_ServiceProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithStructConstraint<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithThrowingCtor", "ClassWithThrowingCtor", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ClassWithThrowingEmptyCtor", "ClassWithThrowingEmptyCtor", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ConstrainedFakeOpenGenericService<>", "ConstrainedFakeOpenGenericService", "(TVal)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ConstrainedFakeOpenGenericService<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "CreationCountFakeService", "CreationCountFakeService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "CreationCountFakeService", "get_InstanceCount", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "CreationCountFakeService", "get_InstanceId", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "CreationCountFakeService", "set_InstanceCount", "(System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackInnerService", "FakeDisposableCallbackInnerService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.FakeDisposeCallback)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackOuterService", "FakeDisposableCallbackOuterService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeMultipleService>,Microsoft.Extensions.DependencyInjection.Specification.Fakes.FakeDisposeCallback)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackOuterService", "get_MultipleServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackOuterService", "get_SingleService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackService", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposableCallbackService", "ToString", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeDisposeCallback", "get_Disposed", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeOpenGenericService<>", "FakeOpenGenericService", "(TVal)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeOpenGenericService<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeOuterService", "FakeOuterService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeMultipleService>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeOuterService", "get_MultipleServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeOuterService", "get_SingleService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeService", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeService", "get_Disposed", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeService", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeService", "set_Disposed", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "FakeService", "set_Value", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.PocoClass)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "IFactoryService", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "IFactoryService", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "IFakeOpenGenericService<>", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "IFakeOuterService", "get_MultipleServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "IFakeOuterService", "get_SingleService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ScopedFactoryService", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ScopedFactoryService", "set_FakeService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ServiceAcceptingFactoryService", "ServiceAcceptingFactoryService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.ScopedFactoryService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ServiceAcceptingFactoryService", "get_ScopedService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ServiceAcceptingFactoryService", "get_TransientService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ServiceAcceptingFactoryService", "set_ScopedService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.ScopedFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "ServiceAcceptingFactoryService", "set_TransientService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TransientFactoryService", "get_FakeService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TransientFactoryService", "get_Value", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TransientFactoryService", "set_FakeService", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TransientFactoryService", "set_Value", "(System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "TypeWithSupersetConstructors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "TypeWithSupersetConstructors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeMultipleService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeScopedService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "TypeWithSupersetConstructors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "TypeWithSupersetConstructors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "TypeWithSupersetConstructors", "(Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFakeMultipleService,Microsoft.Extensions.DependencyInjection.Specification.Fakes.IFactoryService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "get_FactoryService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "get_MultipleService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "get_ScopedService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification.Fakes", "TypeWithSupersetConstructors", "get_Service", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,68 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtor", "ClassWithOptionalArgsCtor", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtor", "get_Whatever", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtor", "set_Whatever", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtorWithStructs", "ClassWithOptionalArgsCtorWithStructs", "(System.DateTime,System.DateTime,System.TimeSpan,System.TimeSpan,System.DateTimeOffset,System.DateTimeOffset,System.Guid,System.Guid,Microsoft.Extensions.DependencyInjection.Specification.ClassWithOptionalArgsCtorWithStructs+CustomStruct,Microsoft.Extensions.DependencyInjection.Specification.ClassWithOptionalArgsCtorWithStructs+CustomStruct,System.Nullable<System.ConsoleColor>,System.Nullable<System.ConsoleColor>,System.Nullable<System.Int32>,System.Nullable<System.Int32>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtorWithStructs", "get_Color", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtorWithStructs", "get_ColorNull", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtorWithStructs", "get_Integer", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "ClassWithOptionalArgsCtorWithStructs", "get_IntegerNull", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "AbstractClassConstrainedOpenGenericServicesCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "AttemptingToResolveNonexistentServiceReturnsNull", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "BuiltInServicesWithIsServiceReturnsTrue", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ClosedGenericsWithIsService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ClosedServicesPreferredOverOpenGenericServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ConstrainedOpenGenericServicesCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ConstrainedOpenGenericServicesReturnsEmptyWithNoMatches", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "CreateInstance_CapturesInnerException_OfTargetInvocationException", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "CreateInstance_WithAbstractTypeAndPublicConstructor_ThrowsCorrectException", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "CreateServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "DisposesInReverseOrderOfCreation", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "DisposingScopeDisposesService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ExplictServiceRegisterationWithIsService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "FactoryServicesAreCreatedAsPartOfCreatingObjectGraph", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "FactoryServicesCanBeCreatedByGetService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "GetServiceOrCreateInstanceRegisteredServiceSingleton", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "GetServiceOrCreateInstanceRegisteredServiceTransient", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "GetServiceOrCreateInstanceUnregisteredService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "IEnumerableWithIsServiceAlwaysReturnsTrue", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "InterfaceConstrainedOpenGenericServicesCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "LastServiceReplacesPreviousServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "MultipleServiceCanBeIEnumerableResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "NestedScopedServiceCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "NestedScopedServiceCanBeResolvedWithNoFallbackProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "NonexistentServiceCanBeIEnumerableResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "OpenGenericServicesCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "OpenGenericsWithIsService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "OuterServiceCanHaveOtherServicesInjected", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "RegistrationOrderIsPreservedWhenServicesAreIEnumerableResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ResolvesDifferentInstancesForServiceWhenResolvingEnumerable", "(System.Type,System.Type,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ResolvesMixedOpenClosedGenericsAsEnumerable", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SafelyDisposeNestedProviderReferences", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ScopedServiceCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ScopedServices_FromCachedScopeFactory_CanBeResolvedAndDisposed", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SelfResolveThenDispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServiceContainerPicksConstructorWithLongestMatches", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.Specification.Fakes.TypeWithSupersetConstructors)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServiceInstanceCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServiceProviderIsDisposable", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServiceProviderRegistersServiceScopeFactory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServicesRegisteredWithImplementationTypeCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServicesRegisteredWithImplementationType_ReturnDifferentInstancesPerResolution_ForTransientServices", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "ServicesRegisteredWithImplementationType_ReturnSameInstancesPerResolution_ForSingletons", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SingleServiceCanBeIEnumerableResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SingletonServiceCanBeResolved", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SingletonServiceCanBeResolvedFromScope", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "SingletonServicesComeFromRootProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TransientServiceCanBeResolvedFromProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TransientServiceCanBeResolvedFromScope", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorCreateFactoryDoesNotAllowForAmbiguousConstructorMatches", "(System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "TypeActivatorCreateInstanceUsesFirstMathchedConstructor", "(System.Object,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_CreateInstanceFuncs", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_ExpectStructWithPublicDefaultConstructorInvoked", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_ServiceContainerPicksConstructorWithLongestMatchesData", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_SupportsIServiceProviderIsService", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection.Specification", "DependencyInjectionSpecificationTests", "get_TypesWithNonPublicConstructorData", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,114 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ActivatorUtilities", False, "GetServiceOrCreateInstance", "(System.IServiceProvider,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ActivatorUtilities", False, "GetServiceOrCreateInstance<>", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "AsyncServiceScope", False, "AsyncServiceScope", "(Microsoft.Extensions.DependencyInjection.IServiceScope)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "AsyncServiceScope", False, "get_ServiceProvider", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", False, "CreateBuilder", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", False, "DefaultServiceProviderFactory", "(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddHttpMessageHandler<>", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient<,>", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "AddTypedClient<>", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "ConfigurePrimaryHttpMessageHandler<>", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "RedactLoggedHeaders", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable<System.String>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientBuilderExtensions", False, "SetHandlerLifetime", "(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", False, "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "LoggingServiceCollectionExtensions", False, "AddLogging", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddDistributedMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "MemoryCacheServiceCollectionExtensions", False, "AddMemoryCache", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderConfigurationExtensions", False, "Bind<>", "(Microsoft.Extensions.Options.OptionsBuilder<TOptions>,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderDataAnnotationsExtensions", False, "ValidateDataAnnotations<>", "(Microsoft.Extensions.Options.OptionsBuilder<TOptions>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsBuilderExtensions", False, "ValidateOnStart<>", "(Microsoft.Extensions.Options.OptionsBuilder<TOptions>)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsConfigurationServiceCollectionExtensions", False, "Configure<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "AddOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", False, "ConfigureOptions<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionHostedServiceExtensions", False, "AddHostedService<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddScoped<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddSingleton<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionServiceExtensions", False, "AddTransient<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetRequiredService", "(System.IServiceProvider,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetRequiredService<>", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetService<>", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetServices", "(System.IServiceProvider,System.Type)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", False, "GetServices<>", "(System.IServiceProvider)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ActivatorUtilities", "CreateFactory", "(System.Type,System.Type[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ActivatorUtilities", "CreateInstance", "(System.IServiceProvider,System.Type,System.Object[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ActivatorUtilities", "CreateInstance<>", "(System.IServiceProvider,System.Object[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "AsyncServiceScope", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "AsyncServiceScope", "DisposeAsync", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", "CreateServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "DefaultServiceProviderFactory", "DefaultServiceProviderFactory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient<,>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "HttpClientFactoryServiceCollectionExtensions", "AddHttpClient<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IHttpClientBuilder", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IHttpClientBuilder", "get_Services", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceProviderFactory<>", "CreateBuilder", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceProviderFactory<>", "CreateServiceProvider", "(TContainerBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceProviderFactory<TContainerBuilder>", "CreateBuilder", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceProviderFactory<TContainerBuilder>", "CreateServiceProvider", "(TContainerBuilder)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceProviderIsService", "IsService", "(System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceScope", "get_ServiceProvider", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "IServiceScopeFactory", "CreateScope", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ISupportRequiredService", "GetRequiredService", "(System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", "AddOptions<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "OptionsServiceCollectionExtensions", "AddOptions<>", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "Contains", "(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "IndexOf", "(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "Remove", "(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "RemoveAt", "(System.Int32)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "get_Count", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollection", "get_IsReadOnly", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionContainerBuilderExtensions", "BuildServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionContainerBuilderExtensions", "BuildServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceCollectionContainerBuilderExtensions", "BuildServiceProvider", "(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Describe", "(System.Type,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Scoped", "(System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Scoped<,>", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "ServiceDescriptor", "(System.Type,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "ServiceDescriptor", "(System.Type,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Singleton", "(System.Type,System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Singleton", "(System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Singleton<,>", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Singleton<>", "(TService)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "ToString", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Transient", "(System.Type,System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "Transient<,>", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "get_ImplementationFactory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "get_ImplementationInstance", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "get_ImplementationType", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "get_Lifetime", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceDescriptor", "get_ServiceType", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProvider", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProvider", "DisposeAsync", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProvider", "GetService", "(System.Type)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderOptions", "get_ValidateOnBuild", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderOptions", "get_ValidateScopes", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderOptions", "set_ValidateOnBuild", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderOptions", "set_ValidateScopes", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", "CreateAsyncScope", "(Microsoft.Extensions.DependencyInjection.IServiceScopeFactory)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", "CreateAsyncScope", "(System.IServiceProvider)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyInjection", "ServiceProviderServiceExtensions", "CreateScope", "(System.IServiceProvider)", "summary", "df-generated"]
|
||||
@@ -0,0 +1,22 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "AppBaseCompilationAssemblyResolver", False, "TryResolveAssemblyPaths", "(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List<System.String>)", "", "Argument[this]", "Argument[1].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "CompositeCompilationAssemblyResolver", False, "CompositeCompilationAssemblyResolver", "(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[])", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "CompositeCompilationAssemblyResolver", False, "TryResolveAssemblyPaths", "(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List<System.String>)", "", "Argument[this]", "Argument[1].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "PackageCompilationAssemblyResolver", False, "TryResolveAssemblyPaths", "(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List<System.String>)", "", "Argument[this]", "Argument[1].Element", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "ReferenceAssemblyPathResolver", False, "TryResolveAssemblyPaths", "(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List<System.String>)", "", "Argument[this]", "Argument[1].Element", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "AppBaseCompilationAssemblyResolver", "AppBaseCompilationAssemblyResolver", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "AppBaseCompilationAssemblyResolver", "AppBaseCompilationAssemblyResolver", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "DotNetReferenceAssembliesPathResolver", "Resolve", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "ICompilationAssemblyResolver", "TryResolveAssemblyPaths", "(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List<System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "PackageCompilationAssemblyResolver", "PackageCompilationAssemblyResolver", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "PackageCompilationAssemblyResolver", "PackageCompilationAssemblyResolver", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "ReferenceAssemblyPathResolver", "ReferenceAssemblyPathResolver", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel.Resolution", "ReferenceAssemblyPathResolver", "ReferenceAssemblyPathResolver", "(System.String,System.String[])", "summary", "df-generated"]
|
||||
@@ -0,0 +1,111 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationLibrary", False, "ResolveReferencePaths", "(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[])", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssembly", False, "Create", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssembly", False, "RuntimeAssembly", "(System.String,System.String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", False, "RuntimeAssetGroup", "(System.String,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.RuntimeFile>)", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", False, "RuntimeAssetGroup", "(System.String,System.Collections.Generic.IEnumerable<System.String>)", "", "Argument[1].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", False, "get_AssetPaths", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", False, "get_RuntimeFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationLibrary", "CompilationLibrary", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable<System.String>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationLibrary", "CompilationLibrary", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable<System.String>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationLibrary", "ResolveReferencePaths", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationLibrary", "get_Assemblies", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "CompilationOptions", "(System.Collections.Generic.IEnumerable<System.String>,System.String,System.String,System.Nullable<System.Boolean>,System.Nullable<System.Boolean>,System.Nullable<System.Boolean>,System.String,System.Nullable<System.Boolean>,System.Nullable<System.Boolean>,System.String,System.Nullable<System.Boolean>,System.Nullable<System.Boolean>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_AllowUnsafe", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_DebugType", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_Default", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_Defines", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_DelaySign", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_EmitEntryPoint", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_GenerateXmlDocumentation", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_KeyFile", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_LanguageVersion", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_Optimize", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_Platform", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_PublicSign", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "CompilationOptions", "get_WarningsAsErrors", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "Dependency", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "Equals", "(Microsoft.Extensions.DependencyModel.Dependency)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "Equals", "(System.Object)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "GetHashCode", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Dependency", "get_Version", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "DependencyContext", "(Microsoft.Extensions.DependencyModel.TargetInfo,Microsoft.Extensions.DependencyModel.CompilationOptions,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.CompilationLibrary>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.RuntimeLibrary>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.RuntimeFallbacks>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "Load", "(System.Reflection.Assembly)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "Merge", "(Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_CompilationOptions", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_CompileLibraries", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_Default", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_RuntimeGraph", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_RuntimeLibraries", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContext", "get_Target", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultAssemblyNames", "(Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultAssemblyNames", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultNativeAssets", "(Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultNativeAssets", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultNativeRuntimeFileAssets", "(Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetDefaultNativeRuntimeFileAssets", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeAssemblyNames", "(Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeAssemblyNames", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeNativeAssets", "(Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeNativeAssets", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeNativeRuntimeFileAssets", "(Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextExtensions", "GetRuntimeNativeRuntimeFileAssets", "(Microsoft.Extensions.DependencyModel.RuntimeLibrary,Microsoft.Extensions.DependencyModel.DependencyContext,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextJsonReader", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextJsonReader", "Dispose", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextJsonReader", "Read", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextLoader", "DependencyContextLoader", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextLoader", "Load", "(System.Reflection.Assembly)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextLoader", "get_Default", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "DependencyContextWriter", "Write", "(Microsoft.Extensions.DependencyModel.DependencyContext,System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "IDependencyContextReader", "Read", "(System.IO.Stream)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "Library", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "Library", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "Library", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean,System.String,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Dependencies", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Hash", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_HashPath", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_RuntimeStoreManifestName", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Serviceable", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Type", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "Library", "get_Version", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "ResourceAssembly", "ResourceAssembly", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "ResourceAssembly", "get_Locale", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "ResourceAssembly", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "ResourceAssembly", "set_Locale", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "ResourceAssembly", "set_Path", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssembly", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssembly", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", "RuntimeAssetGroup", "(System.String,System.String[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeAssetGroup", "get_Runtime", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "RuntimeFallbacks", "(System.String,System.Collections.Generic.IEnumerable<System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "RuntimeFallbacks", "(System.String,System.String[])", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "get_Fallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "get_Runtime", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "set_Fallbacks", "(System.Collections.Generic.IReadOnlyList<System.String>)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFallbacks", "set_Runtime", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFile", "RuntimeFile", "(System.String,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFile", "get_AssemblyVersion", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFile", "get_FileVersion", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeFile", "get_Path", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "RuntimeLibrary", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.ResourceAssembly>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "RuntimeLibrary", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.ResourceAssembly>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "RuntimeLibrary", "(System.String,System.String,System.String,System.String,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.ResourceAssembly>,System.Collections.Generic.IEnumerable<Microsoft.Extensions.DependencyModel.Dependency>,System.Boolean,System.String,System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "get_NativeLibraryGroups", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "get_ResourceAssemblies", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "RuntimeLibrary", "get_RuntimeAssemblyGroups", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "TargetInfo", "TargetInfo", "(System.String,System.String,System.String,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "TargetInfo", "get_Framework", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "TargetInfo", "get_IsPortable", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "TargetInfo", "get_Runtime", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.DependencyModel", "TargetInfo", "get_RuntimeSignature", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,12 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Composite", "CompositeDirectoryContents", False, "CompositeDirectoryContents", "(System.Collections.Generic.IList<Microsoft.Extensions.FileProviders.IFileProvider>,System.String)", "", "Argument[0].Element", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Composite", "CompositeDirectoryContents", False, "CompositeDirectoryContents", "(System.Collections.Generic.IList<Microsoft.Extensions.FileProviders.IFileProvider>,System.String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Composite", "CompositeDirectoryContents", "get_Exists", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,12 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Internal", "PhysicalDirectoryContents", False, "PhysicalDirectoryContents", "(System.String,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Internal", "PhysicalDirectoryContents", "PhysicalDirectoryContents", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Internal", "PhysicalDirectoryContents", "get_Exists", "()", "summary", "df-generated"]
|
||||
@@ -0,0 +1,40 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", False, "PhysicalDirectoryInfo", "(System.IO.DirectoryInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", False, "CreateReadStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", False, "PhysicalFileInfo", "(System.IO.FileInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", False, "get_PhysicalPath", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", False, "PhysicalFilesWatcher", "(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", False, "PhysicalFilesWatcher", "(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingFileChangeToken", False, "PollingFileChangeToken", "(System.IO.FileInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"]
|
||||
- addsTo:
|
||||
pack: codeql/csharp-all
|
||||
extensible: neutralModel
|
||||
data:
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "CreateReadStream", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_Exists", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_IsDirectory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_LastModified", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_Length", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalDirectoryInfo", "get_PhysicalPath", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", "get_Exists", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", "get_IsDirectory", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", "get_LastModified", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", "get_Length", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFileInfo", "get_Name", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", "CreateFileChangeToken", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", "Dispose", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", "Dispose", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PhysicalFilesWatcher", "PhysicalFilesWatcher", "(System.String,System.IO.FileSystemWatcher,System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingFileChangeToken", "get_ActiveChangeCallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingFileChangeToken", "get_HasChanged", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingFileChangeToken", "set_ActiveChangeCallbacks", "(System.Boolean)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingWildCardChangeToken", "GetLastWriteUtc", "(System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingWildCardChangeToken", "PollingWildCardChangeToken", "(System.String,System.String)", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingWildCardChangeToken", "get_ActiveChangeCallbacks", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingWildCardChangeToken", "get_HasChanged", "()", "summary", "df-generated"]
|
||||
- ["Microsoft.Extensions.FileProviders.Physical", "PollingWildCardChangeToken", "set_ActiveChangeCallbacks", "(System.Boolean)", "summary", "df-generated"]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user