Merge branch 'main' into filepathclosure

This commit is contained in:
Geoffrey White
2023-11-03 20:54:16 +00:00
634 changed files with 72388 additions and 60059 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Removed @assignpaddexpr and @assignpsubexpr from @assign_bitwise_expr
compatibility: full

View File

@@ -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

View File

@@ -1,4 +0,0 @@
---
category: minorAnalysis
---
* Added support for new floating-point types in C23 and C++23.

View File

@@ -1,4 +0,0 @@
---
category: feature
---
* Added a new class `AdditionalCallTarget` for specifying additional call targets.

View File

@@ -1,4 +0,0 @@
---
category: minorAnalysis
---
* More field accesses are identified as `ImplicitThisFieldAccess`.

View File

@@ -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.

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* Added taint models for `realloc` and related functions.

View File

@@ -0,0 +1,4 @@
---
category: breaking
---
* The expressions `AssignPointerAddExpr` and `AssignPointerSubExpr` are no longer subtypes of `AssignBitwiseOperation`.

View 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.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.10.1
lastReleaseVersion: 0.11.0

View File

@@ -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

View File

@@ -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 |

View File

@@ -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

View File

@@ -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()
}
}
/**

View File

@@ -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 { }

View 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.

View File

@@ -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 {

View File

@@ -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
)
}
}

View File

@@ -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() }
}

View File

@@ -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`).
*/

View File

@@ -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>;

View File

@@ -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`).
*/

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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

View File

@@ -0,0 +1,2 @@
description: Removed @assignpaddexpr and @assignpsubexpr from @assign_bitwise_expr
compatibility: full

View File

@@ -1,3 +1,7 @@
## 0.8.2
No user-facing changes.
## 0.8.1
### New Queries

View File

@@ -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

View File

@@ -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>;

View File

@@ -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>;

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* Added SQL API models for `ODBC`.

View File

@@ -0,0 +1,3 @@
## 0.8.2
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.8.1
lastReleaseVersion: 0.8.2

View File

@@ -1,5 +1,5 @@
name: codeql/cpp-queries
version: 0.8.2-dev
version: 0.8.3-dev
groups:
- cpp
- queries

View File

@@ -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 |

View File

@@ -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. |

View File

@@ -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
}

View File

@@ -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 | * ... |

View File

@@ -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 | |

View File

@@ -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
}

View File

@@ -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)
)

View File

@@ -1028,4 +1028,73 @@ 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-64" range=">=Store: ... & ... | Store: leftOver+0"
range(index + 63); // $ range="<=InitializeParameter: len-1" range="==Phi: index+63" range=">=Store: ... & ... | Store: leftOver+63"
}
}
// 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-64" range=">=Store: ... % ... | Store: leftOver+0"
range(index + 63); // $ range="<=InitializeParameter: len-1" range="==Phi: index+63" range=">=Store: ... % ... | Store: leftOver+63"
}
}

View File

@@ -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 |

View File

@@ -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) |

View File

@@ -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
}

View File

@@ -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] |

View File

@@ -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 | ... + ... | ... + ... |

View File

@@ -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
}
}

View File

@@ -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 |

View File

@@ -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
}

View File

@@ -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 |

View File

@@ -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,

View File

@@ -197,19 +197,19 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
}
}
[GeneratedRegex("<PackageReference.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
[GeneratedRegex("(?<!<!--.*)<PackageReference.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
private static partial Regex PackageReference();
[GeneratedRegex("<FrameworkReference.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
[GeneratedRegex("(?<!<!--.*)<FrameworkReference.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
private static partial Regex FrameworkReference();
[GeneratedRegex("<(.*\\s)?Project.*\\sSdk=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
[GeneratedRegex("(?<!<!--.*)<(.*\\s)?Project.*\\sSdk=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
private static partial Regex ProjectSdk();
[GeneratedRegex("<Using.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
[GeneratedRegex("(?<!<!--.*)<Using.*\\sInclude=\"(.*?)\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
private static partial Regex CustomImplicitUsingDeclarations();
[GeneratedRegex("<Import.*\\sProject=\".*Microsoft\\.CSharp\\.targets\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
[GeneratedRegex("(?<!<!--.*)<Import.*\\sProject=\".*Microsoft\\.CSharp\\.targets\".*/?>", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline)]
private static partial Regex MicrosoftCSharpTargets();
}

View File

@@ -43,6 +43,7 @@ namespace Semmle.Extraction.Tests
"<PackageReference Include=\"DotNetAnalyzers.DocumentationAnalyzers\" Version=\"1.0.0-beta.59\" PrivateAssets=\"all\" />",
"<PackageReference Version=\"7.0.0\" Include=\"Microsoft.CodeAnalysis.NetAnalyzers\"PrivateAssets=\"all\" />",
"<PackageReference Include=\"StyleCop.Analyzers\" Version=\"1.2.0-beta.406\">",
"<!-- <PackageReference Include=\"NUnit\" Version=\"3.10.1\" /> -->",
"<FrameworkReference Include=\"My.Framework\"/>"
};
var fileContent = new TestFileContent(lines);

View File

@@ -1,3 +1,7 @@
## 1.7.2
No user-facing changes.
## 1.7.1
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 1.7.2
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 1.7.1
lastReleaseVersion: 1.7.2

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-all
version: 1.7.2-dev
version: 1.7.3-dev
groups:
- csharp
- solorigate

View File

@@ -1,3 +1,7 @@
## 1.7.2
No user-facing changes.
## 1.7.1
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 1.7.2
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 1.7.1
lastReleaseVersion: 1.7.2

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-queries
version: 1.7.2-dev
version: 1.7.3-dev
groups:
- csharp
- solorigate

View File

@@ -168,6 +168,4 @@
| /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 |

View File

@@ -212,6 +212,4 @@
| /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 |

View File

@@ -1,3 +1,7 @@
## 0.8.2
No user-facing changes.
## 0.8.1
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.8.2
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.8.1
lastReleaseVersion: 0.8.2

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/csharp-all
extensible: neutralModel
data:
- ["AssemblyStripper", "AssemblyStripper", "StripAssembly", "(System.String,System.String)", "summary", "df-generated"]

View 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"]

View File

@@ -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"]

View File

@@ -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"]

View 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"]

View 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"]

View File

@@ -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"]

View 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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -0,0 +1,112 @@
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", "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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

Some files were not shown because too many files have changed in this diff Show More