mirror of
https://github.com/github/codeql.git
synced 2026-04-22 23:35:14 +02:00
Merge branch 'main' into sourcemodels4
This commit is contained in:
3
.bazelrc
3
.bazelrc
@@ -2,6 +2,9 @@ common --enable_platform_specific_config
|
||||
# because we use --override_module with `%workspace%`, the lock file is not stable
|
||||
common --lockfile_mode=off
|
||||
|
||||
# Build release binaries by default, can be overwritten to in local.bazelrc and set to `fastbuild` or `dbg`
|
||||
build --compilation_mode opt
|
||||
|
||||
# when building from this repository in isolation, the internal repository will not be found at ..
|
||||
# where `MODULE.bazel` looks for it. The following will get us past the module loading phase, so
|
||||
# that we can build things that do not rely on that
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
## 0.4.2
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixed data for vulnerable versions of `actions/download-artifact` and `rlespinasse/github-slug-action` (following GHSA-cxww-7g56-2vh6 and GHSA-6q4m-7476-932w).
|
||||
* Improved `untrustedGhCommandDataModel` regex for `gh pr view` and Bash taint analysis in GitHub Actions.
|
||||
|
||||
## 0.4.1
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: fix
|
||||
---
|
||||
* Improved `untrustedGhCommandDataModel` regex for `gh pr view` and Bash taint analysis in GitHub Actions.
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: fix
|
||||
---
|
||||
* Fixed data for vulnerable versions of `actions/download-artifact` and `rlespinasse/github-slug-action` (following GHSA-cxww-7g56-2vh6 and GHSA-6q4m-7476-932w).
|
||||
6
actions/ql/lib/change-notes/released/0.4.2.md
Normal file
6
actions/ql/lib/change-notes/released/0.4.2.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## 0.4.2
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixed data for vulnerable versions of `actions/download-artifact` and `rlespinasse/github-slug-action` (following GHSA-cxww-7g56-2vh6 and GHSA-6q4m-7476-932w).
|
||||
* Improved `untrustedGhCommandDataModel` regex for `gh pr view` and Bash taint analysis in GitHub Actions.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 0.4.1
|
||||
lastReleaseVersion: 0.4.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/actions-all
|
||||
version: 0.4.2-dev
|
||||
version: 0.4.3-dev
|
||||
library: true
|
||||
warnOnImplicitThis: true
|
||||
dependencies:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.4.2
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 0.4.1
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
3
actions/ql/src/change-notes/released/0.4.2.md
Normal file
3
actions/ql/src/change-notes/released/0.4.2.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## 0.4.2
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 0.4.1
|
||||
lastReleaseVersion: 0.4.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/actions-queries
|
||||
version: 0.4.2-dev
|
||||
version: 0.4.3-dev
|
||||
library: false
|
||||
warnOnImplicitThis: true
|
||||
groups: [actions, queries]
|
||||
|
||||
2444
cpp/downgrades/e594389175c098d7225683d0fd8cefcc47d84bc1/old.dbscheme
Normal file
2444
cpp/downgrades/e594389175c098d7225683d0fd8cefcc47d84bc1/old.dbscheme
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
description: Mix typedefs and usings
|
||||
compatibility: full
|
||||
usertypes.rel: run usertypes.qlo
|
||||
usertype_alias_kind.rel: delete
|
||||
@@ -0,0 +1,20 @@
|
||||
class UserType extends @usertype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
int getTyperefKind(UserType usertype) {
|
||||
usertype_alias_kind(usertype, 0) and
|
||||
result = 5
|
||||
or
|
||||
usertype_alias_kind(usertype, 1) and
|
||||
result = 14
|
||||
}
|
||||
|
||||
bindingset[kind]
|
||||
int getKind(UserType usertype, int kind) {
|
||||
if kind = 18 then result = getTyperefKind(usertype) else result = kind
|
||||
}
|
||||
|
||||
from UserType usertype, string name, int kind
|
||||
where usertypes(usertype, name, kind)
|
||||
select usertype, name, getKind(usertype, kind)
|
||||
@@ -1,3 +1,15 @@
|
||||
## 4.0.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Deleted the deprecated `getAllocatorCall` predicate from `DeleteOrDeleteArrayExpr`, use `getDeallocatorCall` instead.
|
||||
|
||||
### New Features
|
||||
|
||||
* A new predicate `getOffsetInClass` was added to the `Field` class, which computes the byte offset of a field relative to a given `Class`.
|
||||
* New classes `PreprocessorElifdef` and `PreprocessorElifndef` were introduced, which represents the C23/C++23 `#elifdef` and `#elifndef` preprocessor directives.
|
||||
* A new class `TypeLibraryImport` was introduced, which represents the `#import` preprocessor directive as used by the Microsoft Visual C++ for importing type libraries.
|
||||
|
||||
## 3.2.0
|
||||
|
||||
### New Features
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: breaking
|
||||
---
|
||||
* Deleted the deprecated `getAllocatorCall` predicate from `DeleteOrDeleteArrayExpr`, use `getDeallocatorCall` instead.
|
||||
@@ -1,5 +1,11 @@
|
||||
---
|
||||
category: feature
|
||||
---
|
||||
## 4.0.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Deleted the deprecated `getAllocatorCall` predicate from `DeleteOrDeleteArrayExpr`, use `getDeallocatorCall` instead.
|
||||
|
||||
### New Features
|
||||
|
||||
* A new predicate `getOffsetInClass` was added to the `Field` class, which computes the byte offset of a field relative to a given `Class`.
|
||||
* New classes `PreprocessorElifdef` and `PreprocessorElifndef` were introduced, which represents the C23/C++23 `#elifdef` and `#elifndef` preprocessor directives.
|
||||
* A new class `TypeLibraryImport` was introduced, which represents the `#import` preprocessor directive as used by the Microsoft Visual C++ for importing type libraries.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 3.2.0
|
||||
lastReleaseVersion: 4.0.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/cpp-all
|
||||
version: 3.2.1-dev
|
||||
version: 4.0.1-dev
|
||||
groups: cpp
|
||||
dbscheme: semmlecode.cpp.dbscheme
|
||||
extractor: cpp
|
||||
|
||||
@@ -5,6 +5,30 @@
|
||||
import semmle.code.cpp.Variable
|
||||
import semmle.code.cpp.Enum
|
||||
|
||||
private predicate hasAFieldWithOffset(Class c, Field f, int offset) {
|
||||
// Base case: `f` is a field in `c`.
|
||||
f = c.getAField() and
|
||||
offset = f.getByteOffset() and
|
||||
not f.getUnspecifiedType().(Class).hasDefinition()
|
||||
or
|
||||
// Otherwise, we find the struct that is a field of `c` which then has
|
||||
// the field `f` as a member.
|
||||
exists(Field g |
|
||||
g = c.getAField() and
|
||||
// Find the field with the largest offset that's less than or equal to
|
||||
// offset. That's the struct we need to search recursively.
|
||||
g =
|
||||
max(Field cand, int candOffset |
|
||||
cand = c.getAField() and
|
||||
candOffset = cand.getByteOffset() and
|
||||
offset >= candOffset
|
||||
|
|
||||
cand order by candOffset
|
||||
) and
|
||||
hasAFieldWithOffset(g.getUnspecifiedType(), f, offset - g.getByteOffset())
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* A C structure member or C++ non-static member variable. For example the
|
||||
* member variable `m` in the following code (but not `s`):
|
||||
@@ -76,6 +100,27 @@ class Field extends MemberVariable {
|
||||
rank[result + 1](int index | cls.getCanonicalMember(index).(Field).isInitializable())
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset (in bytes) of this field starting at `c`.
|
||||
*
|
||||
* For example, consider:
|
||||
* ```cpp
|
||||
* struct S1 {
|
||||
* int a;
|
||||
* void* b;
|
||||
* };
|
||||
*
|
||||
* struct S2 {
|
||||
* S1 s1;
|
||||
* char c;
|
||||
* };
|
||||
* ```
|
||||
* If `f` represents the field `s1` and `c` represents the class `S2` then
|
||||
* `f.getOffsetInClass(S2) = 0` holds. Likewise, if `f` represents the
|
||||
* field `a`, then `f.getOffsetInClass(c) = 0` holds.
|
||||
*/
|
||||
int getOffsetInClass(Class c) { hasAFieldWithOffset(c, this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,7 @@ private import semmle.code.cpp.internal.ResolveClass
|
||||
* ```
|
||||
*/
|
||||
class TypedefType extends UserType {
|
||||
TypedefType() { usertypes(underlyingElement(this), _, [5, 14]) }
|
||||
TypedefType() { usertypes(underlyingElement(this), _, 18) }
|
||||
|
||||
/**
|
||||
* Gets the base type of this typedef type.
|
||||
@@ -54,7 +54,7 @@ class TypedefType extends UserType {
|
||||
* ```
|
||||
*/
|
||||
class CTypedefType extends TypedefType {
|
||||
CTypedefType() { usertypes(underlyingElement(this), _, 5) }
|
||||
CTypedefType() { usertype_alias_kind(underlyingElement(this), 0) }
|
||||
|
||||
override string getAPrimaryQlClass() { result = "CTypedefType" }
|
||||
|
||||
@@ -70,7 +70,7 @@ class CTypedefType extends TypedefType {
|
||||
* ```
|
||||
*/
|
||||
class UsingAliasTypedefType extends TypedefType {
|
||||
UsingAliasTypedefType() { usertypes(underlyingElement(this), _, 14) }
|
||||
UsingAliasTypedefType() { usertype_alias_kind(underlyingElement(this), 1) }
|
||||
|
||||
override string getAPrimaryQlClass() { result = "UsingAliasTypedefType" }
|
||||
|
||||
|
||||
@@ -24,6 +24,78 @@ predicate memberMayBeVarSize(Class c, MemberVariable v) {
|
||||
exists(ArrayType t | t = v.getUnspecifiedType() | not t.getArraySize() > 1)
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a chain of accesses of the form `x.f1.f2...fn` this
|
||||
* predicate gives the type of `x`. Note that `x` may be an implicit
|
||||
* `this` expression.
|
||||
*/
|
||||
private Class getRootType(FieldAccess fa) {
|
||||
// If the object is accessed inside a member function then the root will
|
||||
// be a(n implicit) `this`. And the root type will be the type of `this`.
|
||||
exists(VariableAccess root |
|
||||
root = fa.getQualifier*() and
|
||||
result =
|
||||
root.getQualifier()
|
||||
.(ThisExpr)
|
||||
.getUnspecifiedType()
|
||||
.(PointerType)
|
||||
.getBaseType()
|
||||
.getUnspecifiedType()
|
||||
)
|
||||
or
|
||||
// Otherwise, if this is not inside a member function there will not be
|
||||
// a(n implicit) `this`. And the root type is the type of the outermost
|
||||
// access.
|
||||
exists(VariableAccess root |
|
||||
root = fa.getQualifier+() and
|
||||
not exists(root.getQualifier()) and
|
||||
// We strip the type because the root may be a pointer. For example `p` in:
|
||||
// struct S { char buffer[10]; };
|
||||
// S* p = ...;
|
||||
// strcpy(p->buffer, "abc");
|
||||
result = root.getUnspecifiedType().stripType()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the size of the buffer access at `va`.
|
||||
*/
|
||||
private int getSize(VariableAccess va) {
|
||||
exists(Variable v | va.getTarget() = v |
|
||||
// If `v` is not a field then the size of the buffer is just
|
||||
// the size of the type of `v`.
|
||||
exists(Type t |
|
||||
t = v.getUnspecifiedType() and
|
||||
not v instanceof Field and
|
||||
not t instanceof ReferenceType and
|
||||
result = t.getSize()
|
||||
)
|
||||
or
|
||||
exists(Class c |
|
||||
// Otherwise, we find the "outermost" object and compute the size
|
||||
// as the difference between the size of the type of the "outermost
|
||||
// object" and the offset of the field relative to that type.
|
||||
// For example, consider the following structs:
|
||||
// ```
|
||||
// struct S {
|
||||
// uint32_t x;
|
||||
// uint32_t y;
|
||||
// };
|
||||
// struct S2 {
|
||||
// S s;
|
||||
// uint32_t z;
|
||||
// };
|
||||
// ```
|
||||
// Given an object `S2 s2` the size of the buffer `&s2.s.y`
|
||||
// is the size of the base object type (i.e., `S2`) minutes the offset
|
||||
// of `y` relative to the type `S2` (i.e., `4`). So the size of the
|
||||
// buffer is `12 - 4 = 8`.
|
||||
c = getRootType(va) and
|
||||
result = c.getSize() - v.(Field).getOffsetInClass(c)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `bufferExpr` is an allocation-like expression.
|
||||
*
|
||||
@@ -54,22 +126,11 @@ private int isSource(Expr bufferExpr, Element why) {
|
||||
result = bufferExpr.(AllocationExpr).getSizeBytes() and
|
||||
why = bufferExpr
|
||||
or
|
||||
exists(Type bufferType |
|
||||
exists(Variable v |
|
||||
v = why and
|
||||
// buffer is the address of a variable
|
||||
why = bufferExpr.(AddressOfExpr).getAddressable() and
|
||||
bufferType = why.(Variable).getUnspecifiedType() and
|
||||
result = bufferType.getSize() and
|
||||
not bufferType instanceof ReferenceType and
|
||||
not any(Union u).getAMemberVariable() = why
|
||||
)
|
||||
or
|
||||
exists(Union bufferType |
|
||||
// buffer is the address of a union member; in this case, we
|
||||
// take the size of the union itself rather the union member, since
|
||||
// it's usually OK to access that amount (e.g. clearing with memset).
|
||||
why = bufferExpr.(AddressOfExpr).getAddressable() and
|
||||
bufferType.getAMemberVariable() = why and
|
||||
result = bufferType.getSize()
|
||||
result = getSize(bufferExpr.(AddressOfExpr).getOperand())
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1339,7 +1339,12 @@ predicate lambdaCreation(Node creation, LambdaCallKind kind, DataFlowCallable c)
|
||||
/** Holds if `call` is a lambda call of kind `kind` where `receiver` is the lambda expression. */
|
||||
predicate lambdaCall(DataFlowCall call, LambdaCallKind kind, Node receiver) {
|
||||
(
|
||||
call.(SummaryCall).getReceiver() = receiver.(FlowSummaryNode).getSummaryNode() or
|
||||
call.(SummaryCall).getReceiver() = receiver.(FlowSummaryNode).getSummaryNode()
|
||||
or
|
||||
// No need to infer a lambda call if we already have a static dispatch target.
|
||||
// We only need to check this in the disjunct since a `SummaryCall` never
|
||||
// has a result for `getStaticCallTarget`.
|
||||
not exists(call.getStaticCallTarget()) and
|
||||
call.asCallInstruction().getCallTargetOperand() = receiver.asOperand()
|
||||
) and
|
||||
exists(kind)
|
||||
|
||||
@@ -148,119 +148,81 @@ class HashCons extends HCBase {
|
||||
|
||||
/** Gets the kind of the HC. This can be useful for debugging. */
|
||||
string getKind() {
|
||||
if this instanceof HC_IntLiteral
|
||||
then result = "IntLiteral"
|
||||
else
|
||||
if this instanceof HC_EnumConstantAccess
|
||||
then result = "EnumConstantAccess"
|
||||
else
|
||||
if this instanceof HC_FloatLiteral
|
||||
then result = "FloatLiteral"
|
||||
else
|
||||
if this instanceof HC_StringLiteral
|
||||
then result = "StringLiteral"
|
||||
else
|
||||
if this instanceof HC_Nullptr
|
||||
then result = "Nullptr"
|
||||
else
|
||||
if this instanceof HC_Variable
|
||||
then result = "Variable"
|
||||
else
|
||||
if this instanceof HC_FieldAccess
|
||||
then result = "FieldAccess"
|
||||
else
|
||||
if this instanceof HC_Deref
|
||||
then result = "Deref"
|
||||
else
|
||||
if this instanceof HC_ThisExpr
|
||||
then result = "ThisExpr"
|
||||
else
|
||||
if this instanceof HC_Conversion
|
||||
then result = "Conversion"
|
||||
else
|
||||
if this instanceof HC_BinaryOp
|
||||
then result = "BinaryOp"
|
||||
else
|
||||
if this instanceof HC_UnaryOp
|
||||
then result = "UnaryOp"
|
||||
else
|
||||
if this instanceof HC_ArrayAccess
|
||||
then result = "ArrayAccess"
|
||||
else
|
||||
if this instanceof HC_Unanalyzable
|
||||
then result = "Unanalyzable"
|
||||
else
|
||||
if this instanceof HC_NonmemberFunctionCall
|
||||
then result = "NonmemberFunctionCall"
|
||||
else
|
||||
if this instanceof HC_MemberFunctionCall
|
||||
then result = "MemberFunctionCall"
|
||||
else
|
||||
if this instanceof HC_NewExpr
|
||||
then result = "NewExpr"
|
||||
else
|
||||
if this instanceof HC_NewArrayExpr
|
||||
then result = "NewArrayExpr"
|
||||
else
|
||||
if this instanceof HC_SizeofType
|
||||
then result = "SizeofTypeOperator"
|
||||
else
|
||||
if this instanceof HC_SizeofExpr
|
||||
then result = "SizeofExprOperator"
|
||||
else
|
||||
if this instanceof HC_AlignofType
|
||||
then result = "AlignofTypeOperator"
|
||||
else
|
||||
if this instanceof HC_AlignofExpr
|
||||
then result = "AlignofExprOperator"
|
||||
else
|
||||
if this instanceof HC_UuidofOperator
|
||||
then result = "UuidofOperator"
|
||||
else
|
||||
if this instanceof HC_TypeidType
|
||||
then result = "TypeidType"
|
||||
else
|
||||
if this instanceof HC_TypeidExpr
|
||||
then result = "TypeidExpr"
|
||||
else
|
||||
if this instanceof HC_ArrayAggregateLiteral
|
||||
then result = "ArrayAggregateLiteral"
|
||||
else
|
||||
if this instanceof HC_ClassAggregateLiteral
|
||||
then result = "ClassAggregateLiteral"
|
||||
else
|
||||
if this instanceof HC_DeleteExpr
|
||||
then result = "DeleteExpr"
|
||||
else
|
||||
if this instanceof HC_DeleteArrayExpr
|
||||
then result = "DeleteArrayExpr"
|
||||
else
|
||||
if this instanceof HC_ThrowExpr
|
||||
then result = "ThrowExpr"
|
||||
else
|
||||
if this instanceof HC_ReThrowExpr
|
||||
then result = "ReThrowExpr"
|
||||
else
|
||||
if this instanceof HC_ExprCall
|
||||
then result = "ExprCall"
|
||||
else
|
||||
if
|
||||
this instanceof
|
||||
HC_ConditionalExpr
|
||||
then result = "ConditionalExpr"
|
||||
else
|
||||
if
|
||||
this instanceof
|
||||
HC_NoExceptExpr
|
||||
then result = "NoExceptExpr"
|
||||
else
|
||||
if
|
||||
this instanceof
|
||||
HC_AllocatorArgZero
|
||||
then
|
||||
result =
|
||||
"AllocatorArgZero"
|
||||
else result = "error"
|
||||
result = this.getKind0()
|
||||
or
|
||||
not exists(this.getKind0()) and result = "error"
|
||||
}
|
||||
|
||||
private string getKind0() {
|
||||
this instanceof HC_IntLiteral and result = "IntLiteral"
|
||||
or
|
||||
this instanceof HC_EnumConstantAccess and result = "EnumConstantAccess"
|
||||
or
|
||||
this instanceof HC_FloatLiteral and result = "FloatLiteral"
|
||||
or
|
||||
this instanceof HC_StringLiteral and result = "StringLiteral"
|
||||
or
|
||||
this instanceof HC_Nullptr and result = "Nullptr"
|
||||
or
|
||||
this instanceof HC_Variable and result = "Variable"
|
||||
or
|
||||
this instanceof HC_FieldAccess and result = "FieldAccess"
|
||||
or
|
||||
this instanceof HC_Deref and result = "Deref"
|
||||
or
|
||||
this instanceof HC_ThisExpr and result = "ThisExpr"
|
||||
or
|
||||
this instanceof HC_Conversion and result = "Conversion"
|
||||
or
|
||||
this instanceof HC_BinaryOp and result = "BinaryOp"
|
||||
or
|
||||
this instanceof HC_UnaryOp and result = "UnaryOp"
|
||||
or
|
||||
this instanceof HC_ArrayAccess and result = "ArrayAccess"
|
||||
or
|
||||
this instanceof HC_Unanalyzable and result = "Unanalyzable"
|
||||
or
|
||||
this instanceof HC_NonmemberFunctionCall and result = "NonmemberFunctionCall"
|
||||
or
|
||||
this instanceof HC_MemberFunctionCall and result = "MemberFunctionCall"
|
||||
or
|
||||
this instanceof HC_NewExpr and result = "NewExpr"
|
||||
or
|
||||
this instanceof HC_NewArrayExpr and result = "NewArrayExpr"
|
||||
or
|
||||
this instanceof HC_SizeofType and result = "SizeofTypeOperator"
|
||||
or
|
||||
this instanceof HC_SizeofExpr and result = "SizeofExprOperator"
|
||||
or
|
||||
this instanceof HC_AlignofType and result = "AlignofTypeOperator"
|
||||
or
|
||||
this instanceof HC_AlignofExpr and result = "AlignofExprOperator"
|
||||
or
|
||||
this instanceof HC_UuidofOperator and result = "UuidofOperator"
|
||||
or
|
||||
this instanceof HC_TypeidType and result = "TypeidType"
|
||||
or
|
||||
this instanceof HC_TypeidExpr and result = "TypeidExpr"
|
||||
or
|
||||
this instanceof HC_ArrayAggregateLiteral and result = "ArrayAggregateLiteral"
|
||||
or
|
||||
this instanceof HC_ClassAggregateLiteral and result = "ClassAggregateLiteral"
|
||||
or
|
||||
this instanceof HC_DeleteExpr and result = "DeleteExpr"
|
||||
or
|
||||
this instanceof HC_DeleteArrayExpr and result = "DeleteArrayExpr"
|
||||
or
|
||||
this instanceof HC_ThrowExpr and result = "ThrowExpr"
|
||||
or
|
||||
this instanceof HC_ReThrowExpr and result = "ReThrowExpr"
|
||||
or
|
||||
this instanceof HC_ExprCall and result = "ExprCall"
|
||||
or
|
||||
this instanceof HC_ConditionalExpr and result = "ConditionalExpr"
|
||||
or
|
||||
this instanceof HC_NoExceptExpr and result = "NoExceptExpr"
|
||||
or
|
||||
this instanceof HC_AllocatorArgZero and result = "AllocatorArgZero"
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -776,7 +776,7 @@ case @usertype.kind of
|
||||
| 2 = @class
|
||||
| 3 = @union
|
||||
| 4 = @enum
|
||||
| 5 = @typedef // classic C: typedef typedef type name
|
||||
// ... 5 = @typedef deprecated // classic C: typedef typedef type name
|
||||
// ... 6 = @template deprecated
|
||||
| 7 = @template_parameter
|
||||
| 8 = @template_template_parameter
|
||||
@@ -785,10 +785,11 @@ case @usertype.kind of
|
||||
// ... 11 objc_protocol deprecated
|
||||
// ... 12 objc_category deprecated
|
||||
| 13 = @scoped_enum
|
||||
| 14 = @using_alias // a using name = type style typedef
|
||||
// ... 14 = @using_alias deprecated // a using name = type style typedef
|
||||
| 15 = @template_struct
|
||||
| 16 = @template_class
|
||||
| 17 = @template_union
|
||||
| 18 = @alias
|
||||
;
|
||||
*/
|
||||
|
||||
@@ -811,6 +812,17 @@ usertype_uuid(
|
||||
string uuid: string ref
|
||||
);
|
||||
|
||||
/*
|
||||
case @usertype.alias_kind of
|
||||
| 0 = @typedef
|
||||
| 1 = @alias
|
||||
*/
|
||||
|
||||
usertype_alias_kind(
|
||||
int id: @usertype ref,
|
||||
int alias_kind: int ref
|
||||
)
|
||||
|
||||
nontype_template_parameters(
|
||||
int id: @expr ref
|
||||
);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
description: Mix typedefs and usings
|
||||
compatibility: full
|
||||
usertypes.rel: run usertypes.qlo
|
||||
usertype_alias_kind.rel: run usertype_alias_kind.qlo
|
||||
@@ -0,0 +1,14 @@
|
||||
class UserType extends @usertype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
bindingset[kind]
|
||||
int getKind(int kind) {
|
||||
kind = 5 and result = 0
|
||||
or
|
||||
kind = 14 and result = 1
|
||||
}
|
||||
|
||||
from UserType usertype, int kind
|
||||
where usertypes(usertype, _, kind)
|
||||
select usertype, getKind(kind)
|
||||
@@ -0,0 +1,10 @@
|
||||
class UserType extends @usertype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
bindingset[kind]
|
||||
int getKind(int kind) { if kind = [5, 14] then result = 18 else result = kind }
|
||||
|
||||
from UserType usertype, string name, int kind
|
||||
where usertypes(usertype, name, kind)
|
||||
select usertype, name, getKind(kind)
|
||||
@@ -1,3 +1,10 @@
|
||||
## 1.3.3
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* The "Wrong type of arguments to formatting function" query (`cpp/wrong-type-format-argument`) now produces fewer FPs if the formatting function has multiple definitions.
|
||||
* The "Call to memory access function may overflow buffer" query (`cpp/overflow-buffer`) now produces fewer FPs involving non-static member variables.
|
||||
|
||||
## 1.3.2
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
@@ -171,7 +171,9 @@ where
|
||||
not arg.isAffectedByMacro() and
|
||||
not arg.isFromUninstantiatedTemplate(_) and
|
||||
not actual.stripType() instanceof ErroneousType and
|
||||
not arg.(Call).mayBeFromImplicitlyDeclaredFunction()
|
||||
not arg.(Call).mayBeFromImplicitlyDeclaredFunction() and
|
||||
// Make sure that the format function definition is consistent
|
||||
count(ffc.getTarget().getFormatParameterIndex()) = 1
|
||||
select arg,
|
||||
"This format specifier for type '" + expected.getName() + "' does not match the argument type '" +
|
||||
actual.getUnspecifiedType().getName() + "'."
|
||||
|
||||
@@ -14,48 +14,6 @@ import cpp
|
||||
import semmle.code.cpp.dataflow.new.DataFlow
|
||||
import Flow::PathGraph
|
||||
|
||||
/**
|
||||
* Holds if `f` is a field located at byte offset `offset` in `c`.
|
||||
*
|
||||
* Note that predicate is recursive, so that given the following:
|
||||
* ```cpp
|
||||
* struct S1 {
|
||||
* int a;
|
||||
* void* b;
|
||||
* };
|
||||
*
|
||||
* struct S2 {
|
||||
* S1 s1;
|
||||
* char c;
|
||||
* };
|
||||
* ```
|
||||
* both `hasAFieldWithOffset(S2, s1, 0)` and `hasAFieldWithOffset(S2, a, 0)`
|
||||
* holds.
|
||||
*/
|
||||
predicate hasAFieldWithOffset(Class c, Field f, int offset) {
|
||||
// Base case: `f` is a field in `c`.
|
||||
f = c.getAField() and
|
||||
offset = f.getByteOffset() and
|
||||
not f.getUnspecifiedType().(Class).hasDefinition()
|
||||
or
|
||||
// Otherwise, we find the struct that is a field of `c` which then has
|
||||
// the field `f` as a member.
|
||||
exists(Field g |
|
||||
g = c.getAField() and
|
||||
// Find the field with the largest offset that's less than or equal to
|
||||
// offset. That's the struct we need to search recursively.
|
||||
g =
|
||||
max(Field cand, int candOffset |
|
||||
cand = c.getAField() and
|
||||
candOffset = cand.getByteOffset() and
|
||||
offset >= candOffset
|
||||
|
|
||||
cand order by candOffset
|
||||
) and
|
||||
hasAFieldWithOffset(g.getUnspecifiedType(), f, offset - g.getByteOffset())
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if `f` is the last field of its declaring class. */
|
||||
predicate lastField(Field f) {
|
||||
exists(Class c | c = f.getDeclaringType() |
|
||||
@@ -75,7 +33,7 @@ predicate lastField(Field f) {
|
||||
bindingset[f1, offset, c2]
|
||||
pragma[inline_late]
|
||||
predicate hasCompatibleFieldAtOffset(Field f1, int offset, Class c2) {
|
||||
exists(Field f2 | hasAFieldWithOffset(c2, f2, offset) |
|
||||
exists(Field f2 | offset = f2.getOffsetInClass(c2) |
|
||||
// Let's not deal with bit-fields for now.
|
||||
f2 instanceof BitField
|
||||
or
|
||||
@@ -100,7 +58,7 @@ predicate prefix(Class c1, Class c2) {
|
||||
exists(Field f1, int offset |
|
||||
// Let's not deal with bit-fields for now.
|
||||
not f1 instanceof BitField and
|
||||
hasAFieldWithOffset(c1, f1, offset)
|
||||
offset = f1.getOffsetInClass(c1)
|
||||
|
|
||||
hasCompatibleFieldAtOffset(f1, offset, c2)
|
||||
)
|
||||
@@ -108,7 +66,7 @@ predicate prefix(Class c1, Class c2) {
|
||||
forall(Field f1, int offset |
|
||||
// Let's not deal with bit-fields for now.
|
||||
not f1 instanceof BitField and
|
||||
hasAFieldWithOffset(c1, f1, offset)
|
||||
offset = f1.getOffsetInClass(c1)
|
||||
|
|
||||
hasCompatibleFieldAtOffset(f1, offset, c2)
|
||||
)
|
||||
|
||||
6
cpp/ql/src/change-notes/released/1.3.3.md
Normal file
6
cpp/ql/src/change-notes/released/1.3.3.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## 1.3.3
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* The "Wrong type of arguments to formatting function" query (`cpp/wrong-type-format-argument`) now produces fewer FPs if the formatting function has multiple definitions.
|
||||
* The "Call to memory access function may overflow buffer" query (`cpp/overflow-buffer`) now produces fewer FPs involving non-static member variables.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.3.2
|
||||
lastReleaseVersion: 1.3.3
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/cpp-queries
|
||||
version: 1.3.3-dev
|
||||
version: 1.3.4-dev
|
||||
groups:
|
||||
- cpp
|
||||
- queries
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
| blocks.c:17:11:17:33 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:17:11:17:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:20:11:20:28 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:20:11:20:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:23:11:23:21 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:23:11:23:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:27:8:27:37 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.c:27:11:27:11 | <unnamed> | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.c:31:8:31:51 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.c:31:11:31:11 | <unnamed> | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.c:35:8:35:49 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {double} with arguments (int,char)} | blocks.c:35:11:35:11 | <unnamed> | file://:0:0:0:0 | double | double | y(int), z(char) |
|
||||
| blocks.c:39:8:39:75 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {double} with arguments (int,char)} | blocks.c:39:11:39:11 | <unnamed> | file://:0:0:0:0 | double | double | y(int), z(char) |
|
||||
| blocks.c:43:8:43:54 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.c:43:11:43:11 | <unnamed> | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.c:47:8:47:64 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {pointer to {const {char}}} with arguments (int,char)} | blocks.c:47:11:47:11 | <unnamed> | file://:0:0:0:0 | const char * | pointer to {const {char}} | y(int), z(char) |
|
||||
| blocks.c:51:8:51:73 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {pointer to {const {pointer to {const {char}}}}} with arguments (int,char)} | blocks.c:51:11:51:11 | <unnamed> | file://:0:0:0:0 | const char *const * | pointer to {const {pointer to {const {char}}}} | y(int), z(char) |
|
||||
| blocks.c:63:16:65:2 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.c:63:16:63:16 | <unnamed> | file://:0:0:0:0 | int | int | |
|
||||
| blocks.c:69:19:69:39 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.c:69:22:69:22 | <unnamed> | file://:0:0:0:0 | int | int | |
|
||||
| blocks.c:74:60:74:111 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {typedef {pointer to {function returning {int} with arguments (char)}} as "pointerToFunctionThatReturnsIntWithCharArg"} with arguments (float)} | blocks.c:74:62:74:62 | <unnamed> | file://:0:0:0:0 | ..(*)(..) | pointer to {function returning {int} with arguments (char)} | x(float) |
|
||||
| blocks.c:79:7:79:9 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:79:7:79:7 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:80:7:80:9 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:80:7:80:7 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:17:11:17:33 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:17:11:17:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:20:11:20:28 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:20:11:20:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:23:11:23:21 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:23:11:23:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:27:8:27:37 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.c:27:11:27:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.c:31:8:31:51 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.c:31:11:31:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.c:35:8:35:49 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {double} with arguments (int,char)} | blocks.c:35:11:35:11 | (unnamed codeblock) | file://:0:0:0:0 | double | double | y(int), z(char) |
|
||||
| blocks.c:39:8:39:75 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {double} with arguments (int,char)} | blocks.c:39:11:39:11 | (unnamed codeblock) | file://:0:0:0:0 | double | double | y(int), z(char) |
|
||||
| blocks.c:43:8:43:54 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.c:43:11:43:11 | (unnamed codeblock) | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.c:47:8:47:64 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {pointer to {const {char}}} with arguments (int,char)} | blocks.c:47:11:47:11 | (unnamed codeblock) | file://:0:0:0:0 | const char * | pointer to {const {char}} | y(int), z(char) |
|
||||
| blocks.c:51:8:51:73 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {pointer to {const {pointer to {const {char}}}}} with arguments (int,char)} | blocks.c:51:11:51:11 | (unnamed codeblock) | file://:0:0:0:0 | const char *const * | pointer to {const {pointer to {const {char}}}} | y(int), z(char) |
|
||||
| blocks.c:63:16:65:2 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.c:63:16:63:16 | (unnamed codeblock) | file://:0:0:0:0 | int | int | |
|
||||
| blocks.c:69:19:69:39 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.c:69:22:69:22 | (unnamed codeblock) | file://:0:0:0:0 | int | int | |
|
||||
| blocks.c:74:60:74:111 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {typedef {pointer to {function returning {int} with arguments (char)}} as "pointerToFunctionThatReturnsIntWithCharArg"} with arguments (float)} | blocks.c:74:62:74:62 | (unnamed codeblock) | file://:0:0:0:0 | ..(*)(..) | pointer to {function returning {int} with arguments (char)} | x(float) |
|
||||
| blocks.c:79:7:79:9 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:79:7:79:7 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.c:80:7:80:9 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.c:80:7:80:7 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
| capture.c:18:23:20:6 | ^ { ... } | capture.c:19:27:19:27 | x | capture.c:6:5:6:5 | x | capture.c:18:23:18:23 | <unnamed> |
|
||||
| capture.c:18:23:20:6 | ^ { ... } | capture.c:19:30:19:30 | y | capture.c:13:17:13:17 | y | capture.c:18:23:18:23 | <unnamed> |
|
||||
| capture.c:22:23:25:6 | ^ { ... } | capture.c:23:9:23:9 | x | capture.c:6:5:6:5 | x | capture.c:22:23:22:23 | <unnamed> |
|
||||
| capture.c:22:23:25:6 | ^ { ... } | capture.c:24:9:24:9 | y | capture.c:13:17:13:17 | y | capture.c:22:23:22:23 | <unnamed> |
|
||||
| capture.c:18:23:20:6 | ^ { ... } | capture.c:19:27:19:27 | x | capture.c:6:5:6:5 | x | capture.c:18:23:18:23 | (unnamed codeblock) |
|
||||
| capture.c:18:23:20:6 | ^ { ... } | capture.c:19:30:19:30 | y | capture.c:13:17:13:17 | y | capture.c:18:23:18:23 | (unnamed codeblock) |
|
||||
| capture.c:22:23:25:6 | ^ { ... } | capture.c:23:9:23:9 | x | capture.c:6:5:6:5 | x | capture.c:22:23:22:23 | (unnamed codeblock) |
|
||||
| capture.c:22:23:25:6 | ^ { ... } | capture.c:24:9:24:9 | y | capture.c:13:17:13:17 | y | capture.c:22:23:22:23 | (unnamed codeblock) |
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
| blocks.cpp:17:11:17:33 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:17:11:17:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:20:11:20:28 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:20:11:20:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:23:11:23:21 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:23:11:23:11 | <unnamed> | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:27:8:27:37 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.cpp:27:11:27:11 | <unnamed> | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.cpp:31:8:31:51 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.cpp:31:11:31:11 | <unnamed> | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.cpp:35:8:35:49 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:35:11:35:11 | <unnamed> | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:39:8:39:75 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:39:11:39:11 | <unnamed> | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:43:8:43:54 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:43:11:43:11 | <unnamed> | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:57:14:57:30 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.cpp:57:14:57:14 | <unnamed> | file://:0:0:0:0 | int | int | |
|
||||
| blocks.cpp:17:11:17:33 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:17:11:17:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:20:11:20:28 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:20:11:20:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:23:11:23:21 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments ()} | blocks.cpp:23:11:23:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | |
|
||||
| blocks.cpp:27:8:27:37 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.cpp:27:11:27:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.cpp:31:8:31:51 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {void} with arguments (int,char)} | blocks.cpp:31:11:31:11 | (unnamed codeblock) | file://:0:0:0:0 | void | void | y(int), z(char) |
|
||||
| blocks.cpp:35:8:35:49 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:35:11:35:11 | (unnamed codeblock) | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:39:8:39:75 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:39:11:39:11 | (unnamed codeblock) | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:43:8:43:54 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {char} with arguments (int,char)} | blocks.cpp:43:11:43:11 | (unnamed codeblock) | file://:0:0:0:0 | char | char | y(int), z(char) |
|
||||
| blocks.cpp:57:14:57:30 | ^ { ... } | file://:0:0:0:0 | ..(^)(..) | block of {function returning {int} with arguments ()} | blocks.cpp:57:14:57:14 | (unnamed codeblock) | file://:0:0:0:0 | int | int | |
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
| tests.cpp:208:7:208:30 | call to madAndImplementedComplex | Unexpected result: ir |
|
||||
|
||||
@@ -10,3 +10,21 @@ void f(UNKNOWN_CHAR * str) {
|
||||
fprintf(0, "%s", ""); // GOOD
|
||||
printf("%s", str); // GOOD - erroneous type is ignored
|
||||
}
|
||||
|
||||
#define va_list void*
|
||||
#define va_start(x, y) x = 0;
|
||||
#define va_arg(x, y) ((y)x)
|
||||
#define va_end(x)
|
||||
int vprintf(const char * format, va_list args);
|
||||
|
||||
int my_printf(const char * format, ...) {
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
int result = vprintf(format, args);
|
||||
va_end(args);
|
||||
return result;
|
||||
}
|
||||
|
||||
void linker_awareness_test() {
|
||||
my_printf("%s%d", "", 1); // GOOD
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#define va_list void*
|
||||
#define va_start(x, y) x = 0;
|
||||
#define va_arg(x, y) ((y)x)
|
||||
#define va_end(x)
|
||||
|
||||
int vprintf(const char * format, va_list args);
|
||||
|
||||
int my_printf(void * p,const char * format, ...) {
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
int result = vprintf(format, args);
|
||||
va_end(args);
|
||||
return result;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
edges
|
||||
subpaths
|
||||
nodes
|
||||
subpaths
|
||||
#select
|
||||
|
||||
@@ -49,6 +49,37 @@
|
||||
| tests.cpp:577:7:577:13 | access to array | This array indexing operation accesses a negative index -1 on the $@. | tests.cpp:565:7:565:12 | buffer | array |
|
||||
| tests.cpp:637:6:637:15 | access to array | This array indexing operation accesses a negative index -1 on the $@. | tests.cpp:633:7:633:12 | buffer | array |
|
||||
| tests.cpp:645:7:645:13 | access to array | This array indexing operation accesses a negative index -1 on the $@. | tests.cpp:633:7:633:12 | buffer | array |
|
||||
| tests.cpp:708:3:708:8 | call to memset | This 'memset' operation accesses 24 bytes but the $@ is only 8 bytes. | tests.cpp:693:16:693:16 | c | destination buffer |
|
||||
| tests.cpp:712:3:712:8 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 8 bytes. | tests.cpp:693:16:693:16 | c | destination buffer |
|
||||
| tests.cpp:716:3:716:8 | call to memset | This 'memset' operation accesses 24 bytes but the $@ is only 16 bytes. | tests.cpp:692:16:692:16 | b | destination buffer |
|
||||
| tests.cpp:727:2:727:7 | call to memset | This 'memset' operation accesses 24 bytes but the $@ is only 8 bytes. | tests.cpp:693:16:693:16 | c | destination buffer |
|
||||
| tests.cpp:753:5:753:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 12 bytes. | tests.cpp:735:20:735:22 | b_1 | destination buffer |
|
||||
| tests.cpp:756:5:756:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 12 bytes. | tests.cpp:735:20:735:22 | b_1 | destination buffer |
|
||||
| tests.cpp:760:5:760:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 8 bytes. | tests.cpp:736:20:736:22 | c_1 | destination buffer |
|
||||
| tests.cpp:761:5:761:10 | call to memset | This 'memset' operation accesses 12 bytes but the $@ is only 8 bytes. | tests.cpp:736:20:736:22 | c_1 | destination buffer |
|
||||
| tests.cpp:763:5:763:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 8 bytes. | tests.cpp:736:20:736:22 | c_1 | destination buffer |
|
||||
| tests.cpp:764:5:764:10 | call to memset | This 'memset' operation accesses 12 bytes but the $@ is only 8 bytes. | tests.cpp:736:20:736:22 | c_1 | destination buffer |
|
||||
| tests.cpp:774:5:774:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 12 bytes. | tests.cpp:740:20:740:22 | b_2 | destination buffer |
|
||||
| tests.cpp:777:5:777:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 12 bytes. | tests.cpp:740:20:740:22 | b_2 | destination buffer |
|
||||
| tests.cpp:795:5:795:10 | call to memset | This 'memset' operation accesses 8 bytes but the $@ is only 4 bytes. | tests.cpp:790:16:790:16 | b | destination buffer |
|
||||
| tests.cpp:822:5:822:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 16 bytes. | tests.cpp:801:16:801:16 | b | destination buffer |
|
||||
| tests.cpp:825:5:825:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 16 bytes. | tests.cpp:801:16:801:16 | b | destination buffer |
|
||||
| tests.cpp:827:5:827:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 16 bytes. | tests.cpp:801:16:801:16 | b | destination buffer |
|
||||
| tests.cpp:830:5:830:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 12 bytes. | tests.cpp:802:16:802:16 | c | destination buffer |
|
||||
| tests.cpp:831:5:831:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 12 bytes. | tests.cpp:802:16:802:16 | c | destination buffer |
|
||||
| tests.cpp:833:5:833:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 12 bytes. | tests.cpp:802:16:802:16 | c | destination buffer |
|
||||
| tests.cpp:835:5:835:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 12 bytes. | tests.cpp:802:16:802:16 | c | destination buffer |
|
||||
| tests.cpp:846:5:846:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 8 bytes. | tests.cpp:807:16:807:16 | x | destination buffer |
|
||||
| tests.cpp:847:5:847:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 8 bytes. | tests.cpp:807:16:807:16 | x | destination buffer |
|
||||
| tests.cpp:848:5:848:10 | call to memset | This 'memset' operation accesses 12 bytes but the $@ is only 8 bytes. | tests.cpp:807:16:807:16 | x | destination buffer |
|
||||
| tests.cpp:849:5:849:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 8 bytes. | tests.cpp:807:16:807:16 | x | destination buffer |
|
||||
| tests.cpp:851:5:851:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 8 bytes. | tests.cpp:807:16:807:16 | x | destination buffer |
|
||||
| tests.cpp:862:5:862:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests.cpp:863:5:863:10 | call to memset | This 'memset' operation accesses 16 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests.cpp:864:5:864:10 | call to memset | This 'memset' operation accesses 12 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests.cpp:865:5:865:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests.cpp:866:5:866:10 | call to memset | This 'memset' operation accesses 8 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests.cpp:867:5:867:10 | call to memset | This 'memset' operation accesses 20 bytes but the $@ is only 4 bytes. | tests.cpp:812:12:812:12 | u | destination buffer |
|
||||
| tests_restrict.c:12:2:12:7 | call to memcpy | This 'memcpy' operation accesses 2 bytes but the $@ is only 1 byte. | tests_restrict.c:7:6:7:13 | smallbuf | source buffer |
|
||||
| unions.cpp:26:2:26:7 | call to memset | This 'memset' operation accesses 200 bytes but the $@ is only 100 bytes. | unions.cpp:21:10:21:11 | mu | destination buffer |
|
||||
| unions.cpp:30:2:30:7 | call to memset | This 'memset' operation accesses 200 bytes but the $@ is only 100 bytes. | unions.cpp:15:7:15:11 | small | destination buffer |
|
||||
|
||||
@@ -27,8 +27,8 @@ edges
|
||||
| main.cpp:9:29:9:32 | *argv | tests_restrict.c:15:41:15:44 | *argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | tests_restrict_main output argument | main.cpp:10:20:10:23 | **argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | tests_restrict_main output argument | main.cpp:10:20:10:23 | *argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | **argv | tests.cpp:689:32:689:35 | **argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | *argv | tests.cpp:689:32:689:35 | *argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | **argv | tests.cpp:872:32:872:35 | **argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | *argv | tests.cpp:872:32:872:35 | *argv | provenance | |
|
||||
| overflowdestination.cpp:23:45:23:48 | **argv | overflowdestination.cpp:23:45:23:48 | **argv | provenance | |
|
||||
| overflowdestination.cpp:23:45:23:48 | **argv | overflowdestination.cpp:23:45:23:48 | *argv | provenance | |
|
||||
| test_buffer_overrun.cpp:32:46:32:49 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | provenance | |
|
||||
@@ -41,12 +41,12 @@ edges
|
||||
| tests.cpp:628:14:628:14 | *s [*home] | tests.cpp:628:14:628:19 | *home | provenance | |
|
||||
| tests.cpp:628:14:628:14 | *s [*home] | tests.cpp:628:16:628:19 | *home | provenance | |
|
||||
| tests.cpp:628:16:628:19 | *home | tests.cpp:628:14:628:19 | *home | provenance | |
|
||||
| tests.cpp:689:32:689:35 | **argv | tests.cpp:714:9:714:15 | *access to array | provenance | |
|
||||
| tests.cpp:689:32:689:35 | **argv | tests.cpp:715:9:715:15 | *access to array | provenance | |
|
||||
| tests.cpp:689:32:689:35 | *argv | tests.cpp:714:9:714:15 | *access to array | provenance | |
|
||||
| tests.cpp:689:32:689:35 | *argv | tests.cpp:715:9:715:15 | *access to array | provenance | |
|
||||
| tests.cpp:714:9:714:15 | *access to array | tests.cpp:613:19:613:24 | *source | provenance | |
|
||||
| tests.cpp:715:9:715:15 | *access to array | tests.cpp:622:19:622:24 | *source | provenance | |
|
||||
| tests.cpp:872:32:872:35 | **argv | tests.cpp:897:9:897:15 | *access to array | provenance | |
|
||||
| tests.cpp:872:32:872:35 | **argv | tests.cpp:898:9:898:15 | *access to array | provenance | |
|
||||
| tests.cpp:872:32:872:35 | *argv | tests.cpp:897:9:897:15 | *access to array | provenance | |
|
||||
| tests.cpp:872:32:872:35 | *argv | tests.cpp:898:9:898:15 | *access to array | provenance | |
|
||||
| tests.cpp:897:9:897:15 | *access to array | tests.cpp:613:19:613:24 | *source | provenance | |
|
||||
| tests.cpp:898:9:898:15 | *access to array | tests.cpp:622:19:622:24 | *source | provenance | |
|
||||
| tests_restrict.c:15:41:15:44 | **argv | tests_restrict.c:15:41:15:44 | **argv | provenance | |
|
||||
| tests_restrict.c:15:41:15:44 | *argv | tests_restrict.c:15:41:15:44 | *argv | provenance | |
|
||||
nodes
|
||||
@@ -80,10 +80,10 @@ nodes
|
||||
| tests.cpp:628:14:628:14 | *s [*home] | semmle.label | *s [*home] |
|
||||
| tests.cpp:628:14:628:19 | *home | semmle.label | *home |
|
||||
| tests.cpp:628:16:628:19 | *home | semmle.label | *home |
|
||||
| tests.cpp:689:32:689:35 | **argv | semmle.label | **argv |
|
||||
| tests.cpp:689:32:689:35 | *argv | semmle.label | *argv |
|
||||
| tests.cpp:714:9:714:15 | *access to array | semmle.label | *access to array |
|
||||
| tests.cpp:715:9:715:15 | *access to array | semmle.label | *access to array |
|
||||
| tests.cpp:872:32:872:35 | **argv | semmle.label | **argv |
|
||||
| tests.cpp:872:32:872:35 | *argv | semmle.label | *argv |
|
||||
| tests.cpp:897:9:897:15 | *access to array | semmle.label | *access to array |
|
||||
| tests.cpp:898:9:898:15 | *access to array | semmle.label | *access to array |
|
||||
| tests_restrict.c:15:41:15:44 | **argv | semmle.label | **argv |
|
||||
| tests_restrict.c:15:41:15:44 | **argv | semmle.label | **argv |
|
||||
| tests_restrict.c:15:41:15:44 | *argv | semmle.label | *argv |
|
||||
|
||||
@@ -685,6 +685,189 @@ int test28(MYSTRUCTREF g)
|
||||
return memcmp(&g, &_myStruct, sizeof(MYSTRUCT)); // GOOD
|
||||
}
|
||||
|
||||
#define offsetof(s, m) __builtin_offsetof(s, m)
|
||||
|
||||
struct HasSomeFields {
|
||||
unsigned long a;
|
||||
unsigned long b;
|
||||
unsigned long c;
|
||||
|
||||
void test29() {
|
||||
memset(&a, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, a)); // GOOD
|
||||
};
|
||||
|
||||
void test30() {
|
||||
memset(&b, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, b)); // GOOD
|
||||
};
|
||||
|
||||
void test31() {
|
||||
memset(&c, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, c)); // GOOD
|
||||
};
|
||||
|
||||
void test32() {
|
||||
memset(&c, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, a)); // BAD
|
||||
};
|
||||
|
||||
void test33() {
|
||||
memset(&c, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, b)); // BAD
|
||||
};
|
||||
|
||||
void test34() {
|
||||
memset(&b, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, a)); // BAD
|
||||
};
|
||||
|
||||
void test35() {
|
||||
memset(&b, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, b) - sizeof(unsigned long)); // GOOD
|
||||
};
|
||||
};
|
||||
|
||||
void test36() {
|
||||
HasSomeFields hsf;
|
||||
memset(&hsf.a, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, a)); // GOOD
|
||||
memset(&hsf.c, 0, sizeof(HasSomeFields) - offsetof(HasSomeFields, a)); // BAD
|
||||
}
|
||||
|
||||
struct AnonUnionInStruct
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
unsigned int a_1;
|
||||
unsigned int b_1;
|
||||
unsigned int c_1;
|
||||
};
|
||||
struct {
|
||||
unsigned int a_2;
|
||||
unsigned int b_2;
|
||||
};
|
||||
};
|
||||
unsigned int d;
|
||||
|
||||
void test37() {
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_1)); // GOOD
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_1)); // GOOD
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, c_1)); // GOOD
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_2)); // GOOD
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_2)); // GOOD
|
||||
memset(&a_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, d)); // GOOD
|
||||
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_1)); // BAD
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_1)); // GOOD
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, c_1)); // GOOD
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_2)); // BAD
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_2)); // GOOD
|
||||
memset(&b_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, d)); // GOOD
|
||||
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_1)); // BAD
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_1)); // BAD
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, c_1)); // GOOD
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_2)); // BAD
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_2)); // GOOD
|
||||
memset(&c_1, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, d)); // GOOD
|
||||
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_1)); // GOOD
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_1)); // GOOD
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, c_1)); // GOOD
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_2)); // GOOD
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_2)); // GOOD
|
||||
memset(&a_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, d)); // GOOD
|
||||
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_1)); // BAD
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_1)); // GOOD
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, c_1)); // GOOD
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, a_2)); // BAD
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, b_2)); // GOOD
|
||||
memset(&b_2, 0, sizeof(AnonUnionInStruct) - offsetof(AnonUnionInStruct, d)); // GOOD
|
||||
};
|
||||
};
|
||||
|
||||
struct UnionWithoutStruct
|
||||
{
|
||||
union
|
||||
{
|
||||
unsigned int a;
|
||||
};
|
||||
|
||||
unsigned int b;
|
||||
|
||||
void test37() {
|
||||
memset(&a, 0, sizeof(UnionWithoutStruct) - offsetof(UnionWithoutStruct, a)); // GOOD
|
||||
memset(&a, 0, sizeof(UnionWithoutStruct) - offsetof(UnionWithoutStruct, b)); // GOOD
|
||||
memset(&b, 0, sizeof(UnionWithoutStruct) - offsetof(UnionWithoutStruct, a)); // BAD
|
||||
};
|
||||
};
|
||||
|
||||
struct ThreeUInts {
|
||||
unsigned int a;
|
||||
unsigned int b;
|
||||
unsigned int c;
|
||||
};
|
||||
|
||||
struct FourUInts {
|
||||
ThreeUInts inner;
|
||||
unsigned int x;
|
||||
};
|
||||
|
||||
struct S2 {
|
||||
FourUInts f;
|
||||
unsigned u;
|
||||
void test38() {
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(FourUInts, inner)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(S2, f)); // GOOD
|
||||
memset(&f.inner.a, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // BAD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // GOOD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // GOOD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(FourUInts, inner)); // BAD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(S2, f)); // BAD
|
||||
memset(&f.inner.b, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // BAD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // BAD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // GOOD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(FourUInts, inner)); // BAD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(S2, f)); // BAD
|
||||
memset(&f.inner.c, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(FourUInts, inner)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(S2, f)); // GOOD
|
||||
memset(&f.inner, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // BAD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // BAD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // BAD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(FourUInts, inner)); // BAD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(S2, f)); // GOOD
|
||||
memset(&f.x, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&f, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(FourUInts, inner)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(FourUInts, x)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(S2, f)); // GOOD
|
||||
memset(&f, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
|
||||
memset(&u, 0, sizeof(S2) - offsetof(ThreeUInts, a)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(ThreeUInts, b)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(ThreeUInts, c)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(FourUInts, inner)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(FourUInts, x)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(S2, f)); // BAD
|
||||
memset(&u, 0, sizeof(S2) - offsetof(S2, u)); // GOOD
|
||||
}
|
||||
};
|
||||
|
||||
int tests_main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
@@ -48,5 +48,5 @@ MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,,,,
|
||||
Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,,,73,18
|
||||
ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,,,7,
|
||||
SourceGenerators,,,5,,,,,,,,,,,,,,,,,,,,5
|
||||
System,54,47,10819,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5512,5307
|
||||
System,54,47,10864,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5547,5317
|
||||
Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,,,,
|
||||
|
||||
|
@@ -8,7 +8,7 @@ C# framework & library support
|
||||
|
||||
Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE-079` :sub:`Cross-site scripting`
|
||||
`ServiceStack <https://servicestack.net/>`_,"``ServiceStack.*``, ``ServiceStack``",,7,194,
|
||||
System,"``System.*``, ``System``",47,10819,54,5
|
||||
System,"``System.*``, ``System``",47,10864,54,5
|
||||
Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.AspNetCore.Components``, ``Microsoft.AspNetCore.Http``, ``Microsoft.AspNetCore.Mvc``, ``Microsoft.AspNetCore.WebUtilities``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.DotNet.PlatformAbstractions``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.JSInterop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.Sdk.WebAssembly``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",61,2075,152,4
|
||||
Totals,,108,12901,400,9
|
||||
Totals,,108,12946,400,9
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
return props.SingleOrDefault();
|
||||
}
|
||||
|
||||
public override bool NeedsPopulation =>
|
||||
base.NeedsPopulation &&
|
||||
!Symbol.IsPartialDefinition; // Accessors always have an implementing declaration as well.
|
||||
|
||||
public override void Populate(TextWriter trapFile)
|
||||
{
|
||||
PopulateMethod(trapFile);
|
||||
|
||||
@@ -22,16 +22,16 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
foreach (var l in Locations)
|
||||
trapFile.indexer_location(this, l);
|
||||
|
||||
var getter = Symbol.GetMethod;
|
||||
var setter = Symbol.SetMethod;
|
||||
var getter = BodyDeclaringSymbol.GetMethod;
|
||||
var setter = BodyDeclaringSymbol.SetMethod;
|
||||
|
||||
if (getter is null && setter is null)
|
||||
Context.ModelError(Symbol, "No indexer accessor defined");
|
||||
|
||||
if (!(getter is null))
|
||||
if (getter is not null)
|
||||
Method.Create(Context, getter);
|
||||
|
||||
if (!(setter is null))
|
||||
if (setter is not null)
|
||||
Method.Create(Context, setter);
|
||||
|
||||
for (var i = 0; i < Symbol.Parameters.Length; ++i)
|
||||
|
||||
@@ -21,6 +21,10 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
|
||||
private Type Type => type.Value;
|
||||
|
||||
protected override IPropertySymbol BodyDeclaringSymbol => Symbol.PartialImplementationPart ?? Symbol;
|
||||
|
||||
public override Microsoft.CodeAnalysis.Location? ReportingLocation => BodyDeclaringSymbol.Locations.BestOrDefault();
|
||||
|
||||
public override void WriteId(EscapingTextWriter trapFile)
|
||||
{
|
||||
trapFile.WriteSubId(Type);
|
||||
@@ -43,13 +47,13 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
var type = Type;
|
||||
trapFile.properties(this, Symbol.GetName(), ContainingType!, type.TypeRef, Create(Context, Symbol.OriginalDefinition));
|
||||
|
||||
var getter = Symbol.GetMethod;
|
||||
var setter = Symbol.SetMethod;
|
||||
var getter = BodyDeclaringSymbol.GetMethod;
|
||||
var setter = BodyDeclaringSymbol.SetMethod;
|
||||
|
||||
if (!(getter is null))
|
||||
if (getter is not null)
|
||||
Method.Create(Context, getter);
|
||||
|
||||
if (!(setter is null))
|
||||
if (setter is not null)
|
||||
Method.Create(Context, setter);
|
||||
|
||||
var declSyntaxReferences = IsSourceDeclaration ?
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 1.7.33
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 1.7.32
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
## 1.7.33
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.7.32
|
||||
lastReleaseVersion: 1.7.33
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-solorigate-all
|
||||
version: 1.7.33-dev
|
||||
version: 1.7.34-dev
|
||||
groups:
|
||||
- csharp
|
||||
- solorigate
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 1.7.33
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
## 1.7.32
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
## 1.7.33
|
||||
|
||||
No user-facing changes.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.7.32
|
||||
lastReleaseVersion: 1.7.33
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-solorigate-queries
|
||||
version: 1.7.33-dev
|
||||
version: 1.7.34-dev
|
||||
groups:
|
||||
- csharp
|
||||
- solorigate
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
## 5.0.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Deleted the deprecated `getInstanceType` predicate from the `UnboundGenericType` class.
|
||||
* Deleted the deprecated `getElement` predicate from the `Node` class in `ControlFlowGraph.qll`, use `getAstNode` instead.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* C# 13: Added MaD models for some overload implementations using `ReadOnlySpan` parameters (like `String.Format(System.String, System.ReadOnlySpan<System.Object>))`).
|
||||
* C# 13: Added support for the overload resolution priority attribute (`OverloadResolutionPriority`). Usages of the attribute and the corresponding priority can be found using the QL class `SystemRuntimeCompilerServicesOverloadResolutionPriorityAttribute`.
|
||||
* C# 13: Added support for partial properties and indexers.
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* C# 13: Added support for the overload resolution priority attribute (`OverloadResolutionPriority`). Usages of the attribute and the corresponding priority can be found using the QL class `SystemRuntimeCompilerServicesOverloadResolutionPriorityAttribute`.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
category: breaking
|
||||
---
|
||||
* Deleted the deprecated `getInstanceType` predicate from the `UnboundGenericType` class.
|
||||
* Deleted the deprecated `getElement` predicate from the `Node` class in `ControlFlowGraph.qll`, use `getAstNode` instead.
|
||||
12
csharp/ql/lib/change-notes/released/5.0.0.md
Normal file
12
csharp/ql/lib/change-notes/released/5.0.0.md
Normal file
@@ -0,0 +1,12 @@
|
||||
## 5.0.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Deleted the deprecated `getInstanceType` predicate from the `UnboundGenericType` class.
|
||||
* Deleted the deprecated `getElement` predicate from the `Node` class in `ControlFlowGraph.qll`, use `getAstNode` instead.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* C# 13: Added MaD models for some overload implementations using `ReadOnlySpan` parameters (like `String.Format(System.String, System.ReadOnlySpan<System.Object>))`).
|
||||
* C# 13: Added support for the overload resolution priority attribute (`OverloadResolutionPriority`). Usages of the attribute and the corresponding priority can be found using the QL class `SystemRuntimeCompilerServicesOverloadResolutionPriorityAttribute`.
|
||||
* C# 13: Added support for partial properties and indexers.
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 4.0.2
|
||||
lastReleaseVersion: 5.0.0
|
||||
|
||||
@@ -63,6 +63,7 @@ extensions:
|
||||
- ["System.IO", "Path", False, "Combine", "(System.String,System.String,System.String,System.String)", "", "Argument[2]", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "Combine", "(System.String,System.String,System.String,System.String)", "", "Argument[3]", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "Combine", "(System.String[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "Combine", "(System.ReadOnlySpan<System.String>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "GetDirectoryName", "(System.ReadOnlySpan<System.Char>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "GetDirectoryName", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System.IO", "Path", False, "GetExtension", "(System.ReadOnlySpan<System.Char>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
@@ -96,6 +97,7 @@ extensions:
|
||||
- ["System.IO", "Stream", True, "ReadExactly", "(System.Span<System.Byte>)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"]
|
||||
- ["System.IO", "Stream", True, "ReadExactly", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[this]", "Argument[0].Element", "taint", "manual"]
|
||||
- ["System.IO", "Stream", True, "Write", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.IO", "Stream", True, "Write", "(System.ReadOnlySpan<System.Byte>)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.IO", "Stream", False, "WriteAsync", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.IO", "Stream", True, "WriteAsync", "(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.IO", "StreamReader", False, "StreamReader", "(System.IO.Stream)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
|
||||
@@ -70,6 +70,15 @@ extensions:
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.Object[])", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.Object[])", "", "Argument[2].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.Object[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[2].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[2].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>)", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>)", "", "Argument[2].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
@@ -85,16 +94,29 @@ extensions:
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.Object[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendFormat", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.Object[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.ReadOnlySpan<System.Object>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.String[])", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.String[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.ReadOnlySpan<System.String>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.Char,System.ReadOnlySpan<System.String>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.Object[])", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.Object[])", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.Object[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.String[])", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.String[])", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.String[])", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.String>)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.String>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin", "(System.String,System.ReadOnlySpan<System.String>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin<T>", "(System.Char,System.Collections.Generic.IEnumerable<T>)", "", "Argument[1].Element", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin<T>", "(System.Char,System.Collections.Generic.IEnumerable<T>)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
||||
- ["System.Text", "StringBuilder", False, "AppendJoin<T>", "(System.String,System.Collections.Generic.IEnumerable<T>)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
|
||||
@@ -33,10 +33,12 @@ extensions:
|
||||
- ["System.Threading.Tasks", "Task", False, "Task", "(System.Action<System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "Task", "(System.Action<System.Object>,System.Object,System.Threading.Tasks.TaskCreationOptions)", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAll<TResult>", "(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>>)", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAll<TResult>", "(System.ReadOnlySpan<System.Threading.Tasks.Task<TResult>>)", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAll<TResult>", "(System.Threading.Tasks.Task<TResult>[])", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAny<TResult>", "(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>>)", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAny<TResult>", "(System.Threading.Tasks.Task<TResult>,System.Threading.Tasks.Task<TResult>)", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAny<TResult>", "(System.Threading.Tasks.Task<TResult>,System.Threading.Tasks.Task<TResult>)", "", "Argument[1].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAny<TResult>", "(System.ReadOnlySpan<System.Threading.Tasks.Task<TResult>>)", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task", False, "WhenAny<TResult>", "(System.Threading.Tasks.Task<TResult>[])", "", "Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result]", "ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task<TResult>", False, "ConfigureAwait", "(System.Boolean)", "", "Argument[this]", "ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable]", "value", "manual"]
|
||||
- ["System.Threading.Tasks", "Task<TResult>", False, "ContinueWith", "(System.Action<System.Threading.Tasks.Task<TResult>,System.Object>,System.Object)", "", "Argument[1]", "Argument[0].Parameter[1]", "value", "manual"]
|
||||
|
||||
@@ -419,6 +419,7 @@ extensions:
|
||||
- ["System", "String", False, "Concat", "(System.Object,System.Object,System.Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.Object,System.Object,System.Object)", "", "Argument[2]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.Object[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.ReadOnlySpan<System.Object>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
@@ -438,6 +439,7 @@ extensions:
|
||||
- ["System", "String", False, "Concat", "(System.String,System.String,System.String,System.String)", "", "Argument[2]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.String,System.String,System.String,System.String)", "", "Argument[3]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.String[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat", "(System.ReadOnlySpan<System.String>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Concat<T>", "(System.Collections.Generic.IEnumerable<T>)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Copy", "(System.String)", "", "Argument[0]", "ReturnValue", "value", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
@@ -451,6 +453,12 @@ extensions:
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", "", "Argument[4]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.Object[])", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.Object[])", "", "Argument[2].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[2].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.Object[])", "", "Argument[2].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>)", "", "Argument[2].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object,System.Object)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
@@ -462,22 +470,32 @@ extensions:
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object,System.Object,System.Object)", "", "Argument[3]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.Object[])", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Format", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "GetEnumerator", "()", "", "Argument[this].Element", "ReturnValue.Property[System.CharEnumerator.Current]", "value", "manual"]
|
||||
- ["System", "String", False, "GetEnumerator", "()", "", "Argument[this].Element", "ReturnValue.Property[System.Collections.Generic.IEnumerator`1.Current]", "value", "manual"]
|
||||
- ["System", "String", False, "Insert", "(System.Int32,System.String)", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Insert", "(System.Int32,System.String)", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.Object[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.Object[])", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.ReadOnlySpan<System.Object>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.String[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.String[])", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.ReadOnlySpan<System.String>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.ReadOnlySpan<System.String>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.String[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.Char,System.String[],System.Int32,System.Int32)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.Collections.Generic.IEnumerable<System.String>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.Collections.Generic.IEnumerable<System.String>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.Object[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.Object[])", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.ReadOnlySpan<System.Object>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.String[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.String[])", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.ReadOnlySpan<System.String>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.ReadOnlySpan<System.String>)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.String[],System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join", "(System.String,System.String[],System.Int32,System.Int32)", "", "Argument[1].Element", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "String", False, "Join<T>", "(System.Char,System.Collections.Generic.IEnumerable<T>)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
||||
@@ -499,6 +517,7 @@ extensions:
|
||||
- ["System", "String", False, "Split", "(System.Char,System.Int32,System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.Char,System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.Char[])", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.ReadOnlySpan<System.Char>)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.Char[],System.Int32)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.Char[],System.Int32,System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
- ["System", "String", False, "Split", "(System.Char[],System.StringSplitOptions)", "", "Argument[this]", "ReturnValue.Element", "taint", "manual"]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-all
|
||||
version: 4.0.3-dev
|
||||
version: 5.0.1-dev
|
||||
groups: csharp
|
||||
dbscheme: semmlecode.csharp.dbscheme
|
||||
extractor: csharp
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## 1.0.16
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* All *experimental* queries have been deprecated. The queries are instead available as part of the *default* query suite in [CodeQL-Community-Packs](https://github.com/GitHubSecurityLab/CodeQL-Community-Packs).
|
||||
|
||||
## 1.0.15
|
||||
|
||||
No user-facing changes.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* All *experimental* queries have been deprecated. The queries are instead available as part of the *default* query suite in [CodeQL-Community-Packs](https://github.com/GitHubSecurityLab/CodeQL-Community-Packs).
|
||||
## 1.0.16
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* All *experimental* queries have been deprecated. The queries are instead available as part of the *default* query suite in [CodeQL-Community-Packs](https://github.com/GitHubSecurityLab/CodeQL-Community-Packs).
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
lastReleaseVersion: 1.0.15
|
||||
lastReleaseVersion: 1.0.16
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: codeql/csharp-queries
|
||||
version: 1.0.16-dev
|
||||
version: 1.0.17-dev
|
||||
groups:
|
||||
- csharp
|
||||
- queries
|
||||
|
||||
@@ -361,7 +361,29 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, CsharpDat
|
||||
c.isDelegateCallReturn() and result = "ReturnValue"
|
||||
}
|
||||
|
||||
predicate partialModel = ExternalFlow::partialModel/6;
|
||||
string partialModelRow(Callable api, int i) {
|
||||
i = 0 and ExternalFlow::partialModel(api, result, _, _, _, _) // package
|
||||
or
|
||||
i = 1 and ExternalFlow::partialModel(api, _, result, _, _, _) // type
|
||||
or
|
||||
i = 2 and ExternalFlow::partialModel(api, _, _, result, _, _) // extensible
|
||||
or
|
||||
i = 3 and ExternalFlow::partialModel(api, _, _, _, result, _) // name
|
||||
or
|
||||
i = 4 and ExternalFlow::partialModel(api, _, _, _, _, result) // parameters
|
||||
or
|
||||
i = 5 and result = "" and exists(api) // ext
|
||||
}
|
||||
|
||||
string partialNeutralModelRow(Callable api, int i) {
|
||||
i = 0 and result = partialModelRow(api, 0) // package
|
||||
or
|
||||
i = 1 and result = partialModelRow(api, 1) // type
|
||||
or
|
||||
i = 2 and result = partialModelRow(api, 3) // name
|
||||
or
|
||||
i = 3 and result = partialModelRow(api, 4) // parameters
|
||||
}
|
||||
|
||||
predicate sourceNode = ExternalFlow::sourceNode/2;
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
private import csharp as CS
|
||||
private import codeql.mad.modelgenerator.internal.ModelPrinting
|
||||
private import semmle.code.csharp.dataflow.internal.ExternalFlow as ExternalFlow
|
||||
private import CaptureModels::ModelGeneratorInput as ModelGeneratorInput
|
||||
|
||||
private module ModelPrintingLang implements ModelPrintingLangSig {
|
||||
class Callable = CS::Callable;
|
||||
|
||||
predicate partialModel = ExternalFlow::partialModel/6;
|
||||
predicate partialModelRow = ModelGeneratorInput::partialModelRow/2;
|
||||
|
||||
predicate partialNeutralModelRow = ModelGeneratorInput::partialNeutralModelRow/2;
|
||||
}
|
||||
|
||||
import ModelPrintingImpl<ModelPrintingLang>
|
||||
|
||||
@@ -51,3 +51,41 @@ public class D
|
||||
|
||||
static T Source<T>(object source) => throw null;
|
||||
}
|
||||
|
||||
public partial class DPartial
|
||||
{
|
||||
private object _backingField;
|
||||
public partial object PartialProp1
|
||||
{
|
||||
get { return _backingField; }
|
||||
set { _backingField = value; }
|
||||
}
|
||||
|
||||
public partial object PartialProp2
|
||||
{
|
||||
get { return null; }
|
||||
set { }
|
||||
}
|
||||
}
|
||||
|
||||
public partial class DPartial
|
||||
{
|
||||
public partial object PartialProp1 { get; set; }
|
||||
public partial object PartialProp2 { get; set; }
|
||||
|
||||
public void M()
|
||||
{
|
||||
var o = Source<object>(1);
|
||||
|
||||
var d = new DPartial();
|
||||
d.PartialProp1 = o;
|
||||
d.PartialProp2 = o;
|
||||
|
||||
Sink(d.PartialProp1); // $ hasValueFlow=1
|
||||
Sink(d.PartialProp2); // no flow
|
||||
}
|
||||
|
||||
public static void Sink(object o) { }
|
||||
|
||||
static T Source<T>(object source) => throw null;
|
||||
}
|
||||
|
||||
@@ -502,6 +502,30 @@ edges
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:14:9:14:11 | this : D [field trivialPropField] : Object | provenance | |
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:47:14:47:26 | access to property ComplexProp | provenance | |
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:47:14:47:26 | access to property ComplexProp | provenance | |
|
||||
| D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | access to field _backingField : Object | provenance | |
|
||||
| D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | access to field _backingField : Object | provenance | |
|
||||
| D.cs:61:9:61:11 | value : Object | D.cs:61:31:61:35 | access to parameter value : Object | provenance | |
|
||||
| D.cs:61:9:61:11 | value : Object | D.cs:61:31:61:35 | access to parameter value : Object | provenance | |
|
||||
| D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:61:31:61:35 | access to parameter value : Object | D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:61:31:61:35 | access to parameter value : Object | D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:78:13:78:13 | access to local variable o : Object | D.cs:81:26:81:26 | access to local variable o : Object | provenance | |
|
||||
| D.cs:78:13:78:13 | access to local variable o : Object | D.cs:81:26:81:26 | access to local variable o : Object | provenance | |
|
||||
| D.cs:78:17:78:33 | call to method Source<Object> : Object | D.cs:78:13:78:13 | access to local variable o : Object | provenance | |
|
||||
| D.cs:78:17:78:33 | call to method Source<Object> : Object | D.cs:78:13:78:13 | access to local variable o : Object | provenance | |
|
||||
| D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:61:9:61:11 | value : Object | provenance | |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:61:9:61:11 | value : Object | provenance | |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | provenance | |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:84:14:84:27 | access to property PartialProp1 | provenance | |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:84:14:84:27 | access to property PartialProp1 | provenance | |
|
||||
| E.cs:8:29:8:29 | o : Object | E.cs:11:21:11:21 | access to parameter o : Object | provenance | |
|
||||
| E.cs:8:29:8:29 | o : Object | E.cs:11:21:11:21 | access to parameter o : Object | provenance | |
|
||||
| E.cs:11:9:11:11 | [post] access to local variable ret : S [field Field] : Object | E.cs:12:16:12:18 | access to local variable ret : S [field Field] : Object | provenance | |
|
||||
@@ -1745,6 +1769,32 @@ nodes
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | semmle.label | access to local variable d : D [field trivialPropField] : Object |
|
||||
| D.cs:47:14:47:26 | access to property ComplexProp | semmle.label | access to property ComplexProp |
|
||||
| D.cs:47:14:47:26 | access to property ComplexProp | semmle.label | access to property ComplexProp |
|
||||
| D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | semmle.label | this : DPartial [field _backingField] : Object |
|
||||
| D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | semmle.label | this : DPartial [field _backingField] : Object |
|
||||
| D.cs:60:22:60:34 | access to field _backingField : Object | semmle.label | access to field _backingField : Object |
|
||||
| D.cs:60:22:60:34 | access to field _backingField : Object | semmle.label | access to field _backingField : Object |
|
||||
| D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | semmle.label | this access : DPartial [field _backingField] : Object |
|
||||
| D.cs:60:22:60:34 | this access : DPartial [field _backingField] : Object | semmle.label | this access : DPartial [field _backingField] : Object |
|
||||
| D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | semmle.label | this [Return] : DPartial [field _backingField] : Object |
|
||||
| D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | semmle.label | this [Return] : DPartial [field _backingField] : Object |
|
||||
| D.cs:61:9:61:11 | value : Object | semmle.label | value : Object |
|
||||
| D.cs:61:9:61:11 | value : Object | semmle.label | value : Object |
|
||||
| D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | semmle.label | [post] this access : DPartial [field _backingField] : Object |
|
||||
| D.cs:61:15:61:27 | [post] this access : DPartial [field _backingField] : Object | semmle.label | [post] this access : DPartial [field _backingField] : Object |
|
||||
| D.cs:61:31:61:35 | access to parameter value : Object | semmle.label | access to parameter value : Object |
|
||||
| D.cs:61:31:61:35 | access to parameter value : Object | semmle.label | access to parameter value : Object |
|
||||
| D.cs:78:13:78:13 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| D.cs:78:13:78:13 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| D.cs:78:17:78:33 | call to method Source<Object> : Object | semmle.label | call to method Source<Object> : Object |
|
||||
| D.cs:78:17:78:33 | call to method Source<Object> : Object | semmle.label | call to method Source<Object> : Object |
|
||||
| D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | semmle.label | [post] access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object | semmle.label | [post] access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | semmle.label | access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | semmle.label | access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:84:14:84:27 | access to property PartialProp1 | semmle.label | access to property PartialProp1 |
|
||||
| D.cs:84:14:84:27 | access to property PartialProp1 | semmle.label | access to property PartialProp1 |
|
||||
| E.cs:8:29:8:29 | o : Object | semmle.label | o : Object |
|
||||
| E.cs:8:29:8:29 | o : Object | semmle.label | o : Object |
|
||||
| E.cs:11:9:11:11 | [post] access to local variable ret : S [field Field] : Object | semmle.label | [post] access to local variable ret : S [field Field] : Object |
|
||||
@@ -2582,6 +2632,10 @@ subpaths
|
||||
| D.cs:45:14:45:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:8:9:8:11 | this : D [field trivialPropField] : Object | D.cs:8:22:8:42 | access to field trivialPropField : Object | D.cs:45:14:45:26 | access to property TrivialProp |
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:14:9:14:11 | this : D [field trivialPropField] : Object | D.cs:14:22:14:42 | access to field trivialPropField : Object | D.cs:47:14:47:26 | access to property ComplexProp |
|
||||
| D.cs:47:14:47:14 | access to local variable d : D [field trivialPropField] : Object | D.cs:14:9:14:11 | this : D [field trivialPropField] : Object | D.cs:14:22:14:42 | access to field trivialPropField : Object | D.cs:47:14:47:26 | access to property ComplexProp |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:61:9:61:11 | value : Object | D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:81:26:81:26 | access to local variable o : Object | D.cs:61:9:61:11 | value : Object | D.cs:61:9:61:11 | this [Return] : DPartial [field _backingField] : Object | D.cs:81:9:81:9 | [post] access to local variable d : DPartial [field _backingField] : Object |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | access to field _backingField : Object | D.cs:84:14:84:27 | access to property PartialProp1 |
|
||||
| D.cs:84:14:84:14 | access to local variable d : DPartial [field _backingField] : Object | D.cs:60:9:60:11 | this : DPartial [field _backingField] : Object | D.cs:60:22:60:34 | access to field _backingField : Object | D.cs:84:14:84:27 | access to property PartialProp1 |
|
||||
| E.cs:23:25:23:25 | access to local variable o : Object | E.cs:8:29:8:29 | o : Object | E.cs:12:16:12:18 | access to local variable ret : S [field Field] : Object | E.cs:23:17:23:26 | call to method CreateS : S [field Field] : Object |
|
||||
| E.cs:23:25:23:25 | access to local variable o : Object | E.cs:8:29:8:29 | o : Object | E.cs:12:16:12:18 | access to local variable ret : S [field Field] : Object | E.cs:23:17:23:26 | call to method CreateS : S [field Field] : Object |
|
||||
| E.cs:55:29:55:33 | access to local variable taint : Object | E.cs:43:46:43:46 | o : Object | E.cs:43:36:43:36 | s [Return] : RefS [field RefField] : Object | E.cs:55:23:55:26 | [post] access to local variable refs : RefS [field RefField] : Object |
|
||||
@@ -2690,6 +2744,8 @@ testFailures
|
||||
| D.cs:46:14:46:31 | access to field trivialPropField | D.cs:43:32:43:48 | call to method Source<Object> : Object | D.cs:46:14:46:31 | access to field trivialPropField | $@ | D.cs:43:32:43:48 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| D.cs:47:14:47:26 | access to property ComplexProp | D.cs:43:32:43:48 | call to method Source<Object> : Object | D.cs:47:14:47:26 | access to property ComplexProp | $@ | D.cs:43:32:43:48 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| D.cs:47:14:47:26 | access to property ComplexProp | D.cs:43:32:43:48 | call to method Source<Object> : Object | D.cs:47:14:47:26 | access to property ComplexProp | $@ | D.cs:43:32:43:48 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| D.cs:84:14:84:27 | access to property PartialProp1 | D.cs:78:17:78:33 | call to method Source<Object> : Object | D.cs:84:14:84:27 | access to property PartialProp1 | $@ | D.cs:78:17:78:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| D.cs:84:14:84:27 | access to property PartialProp1 | D.cs:78:17:78:33 | call to method Source<Object> : Object | D.cs:84:14:84:27 | access to property PartialProp1 | $@ | D.cs:78:17:78:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| E.cs:24:14:24:20 | access to field Field | E.cs:22:17:22:33 | call to method Source<Object> : Object | E.cs:24:14:24:20 | access to field Field | $@ | E.cs:22:17:22:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| E.cs:24:14:24:20 | access to field Field | E.cs:22:17:22:33 | call to method Source<Object> : Object | E.cs:24:14:24:20 | access to field Field | $@ | E.cs:22:17:22:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| E.cs:57:14:57:26 | access to field RefField | E.cs:54:21:54:37 | call to method Source<Object> : Object | E.cs:57:14:57:26 | access to field RefField | $@ | E.cs:54:21:54:37 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/Dapper/2.1.24/Dapper.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/Dapper/2.1.35/Dapper.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../../resources/stubs/System.Data.SQLite/1.0.119/System.Data.SQLite.csproj
|
||||
semmle-extractor-options: ${testdir}/../../../../../../resources/stubs/System.Windows.cs
|
||||
|
||||
@@ -22,7 +22,7 @@ models
|
||||
| 21 | Summary: System; Int32; false; TryParse; (System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32); ; Argument[0]; Argument[3]; taint; manual |
|
||||
| 22 | Summary: System; Int32; false; TryParse; (System.String,System.Int32); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 23 | Summary: System; Lazy<T>; false; Lazy; (System.Func<T>); ; Argument[0].ReturnValue; Argument[this].Property[System.Lazy`1.Value]; value; manual |
|
||||
| 24 | Summary: System; String; false; Join; (System.String,System.String[]); ; Argument[1].Element; ReturnValue; taint; manual |
|
||||
| 24 | Summary: System; String; false; Join; (System.String,System.ReadOnlySpan<System.String>); ; Argument[1].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | |
|
||||
| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | |
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
models
|
||||
edges
|
||||
| Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | Indexers.cs:6:22:6:41 | access to array element : Object | provenance | |
|
||||
| Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | Indexers.cs:6:22:6:41 | access to array element : Object | provenance | |
|
||||
| Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | provenance | |
|
||||
| Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | provenance | |
|
||||
| Indexers.cs:7:9:7:11 | value : Object | Indexers.cs:7:38:7:42 | access to parameter value : Object | provenance | |
|
||||
| Indexers.cs:7:9:7:11 | value : Object | Indexers.cs:7:38:7:42 | access to parameter value : Object | provenance | |
|
||||
| Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:7:38:7:42 | access to parameter value : Object | Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | provenance | |
|
||||
| Indexers.cs:7:38:7:42 | access to parameter value : Object | Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | provenance | |
|
||||
| Indexers.cs:34:13:34:13 | access to local variable o : Object | Indexers.cs:37:17:37:17 | access to local variable o : Object | provenance | |
|
||||
| Indexers.cs:34:13:34:13 | access to local variable o : Object | Indexers.cs:37:17:37:17 | access to local variable o : Object | provenance | |
|
||||
| Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | Indexers.cs:34:13:34:13 | access to local variable o : Object | provenance | |
|
||||
| Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | Indexers.cs:34:13:34:13 | access to local variable o : Object | provenance | |
|
||||
| Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:7:9:7:11 | value : Object | provenance | |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:7:9:7:11 | value : Object | provenance | |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | provenance | |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:38:14:38:18 | access to indexer | provenance | |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:38:14:38:18 | access to indexer | provenance | |
|
||||
nodes
|
||||
| Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | semmle.label | this : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | semmle.label | this : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | semmle.label | access to field _backingArray : Object[] [element] : Object |
|
||||
| Indexers.cs:6:22:6:34 | access to field _backingArray : Object[] [element] : Object | semmle.label | access to field _backingArray : Object[] [element] : Object |
|
||||
| Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | semmle.label | this access : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:6:22:6:34 | this access : Partial1 [field _backingArray, element] : Object | semmle.label | this access : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:6:22:6:41 | access to array element : Object | semmle.label | access to array element : Object |
|
||||
| Indexers.cs:6:22:6:41 | access to array element : Object | semmle.label | access to array element : Object |
|
||||
| Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | semmle.label | this [Return] : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | semmle.label | this [Return] : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:7:9:7:11 | value : Object | semmle.label | value : Object |
|
||||
| Indexers.cs:7:9:7:11 | value : Object | semmle.label | value : Object |
|
||||
| Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | semmle.label | [post] access to field _backingArray : Object[] [element] : Object |
|
||||
| Indexers.cs:7:15:7:27 | [post] access to field _backingArray : Object[] [element] : Object | semmle.label | [post] access to field _backingArray : Object[] [element] : Object |
|
||||
| Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | semmle.label | [post] this access : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:7:15:7:27 | [post] this access : Partial1 [field _backingArray, element] : Object | semmle.label | [post] this access : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:7:38:7:42 | access to parameter value : Object | semmle.label | access to parameter value : Object |
|
||||
| Indexers.cs:7:38:7:42 | access to parameter value : Object | semmle.label | access to parameter value : Object |
|
||||
| Indexers.cs:34:13:34:13 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| Indexers.cs:34:13:34:13 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | semmle.label | call to method Source<Object> : Object |
|
||||
| Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | semmle.label | call to method Source<Object> : Object |
|
||||
| Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | semmle.label | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object | semmle.label | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | semmle.label | access to local variable o : Object |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | semmle.label | access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | semmle.label | access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:38:14:38:18 | access to indexer | semmle.label | access to indexer |
|
||||
| Indexers.cs:38:14:38:18 | access to indexer | semmle.label | access to indexer |
|
||||
subpaths
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:7:9:7:11 | value : Object | Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:37:17:37:17 | access to local variable o : Object | Indexers.cs:7:9:7:11 | value : Object | Indexers.cs:7:9:7:11 | this [Return] : Partial1 [field _backingArray, element] : Object | Indexers.cs:37:9:37:10 | [post] access to local variable p1 : Partial1 [field _backingArray, element] : Object |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:41 | access to array element : Object | Indexers.cs:38:14:38:18 | access to indexer |
|
||||
| Indexers.cs:38:14:38:15 | access to local variable p1 : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:9:6:11 | this : Partial1 [field _backingArray, element] : Object | Indexers.cs:6:22:6:41 | access to array element : Object | Indexers.cs:38:14:38:18 | access to indexer |
|
||||
testFailures
|
||||
#select
|
||||
| Indexers.cs:38:14:38:18 | access to indexer | Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | Indexers.cs:38:14:38:18 | access to indexer | $@ | Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
| Indexers.cs:38:14:38:18 | access to indexer | Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | Indexers.cs:38:14:38:18 | access to indexer | $@ | Indexers.cs:34:17:34:33 | call to method Source<Object> : Object | call to method Source<Object> : Object |
|
||||
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* @kind path-problem
|
||||
*/
|
||||
|
||||
import csharp
|
||||
import utils.test.InlineFlowTest
|
||||
import DefaultFlowTest
|
||||
import PathGraph
|
||||
|
||||
from PathNode source, PathNode sink
|
||||
where flowPath(source, sink)
|
||||
select sink, source, sink, "$@", source, source.toString()
|
||||
48
csharp/ql/test/library-tests/dataflow/indexers/Indexers.cs
Normal file
48
csharp/ql/test/library-tests/dataflow/indexers/Indexers.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
public partial class Partial1
|
||||
{
|
||||
private object[] _backingArray = new object[10];
|
||||
public partial object this[int index]
|
||||
{
|
||||
get { return _backingArray[index]; }
|
||||
set { _backingArray[index] = value; }
|
||||
}
|
||||
}
|
||||
|
||||
public partial class Partial1
|
||||
{
|
||||
public partial object this[int index] { get; set; }
|
||||
}
|
||||
|
||||
public partial class Partial2
|
||||
{
|
||||
public partial object this[int index]
|
||||
{
|
||||
get { return null; }
|
||||
set { }
|
||||
}
|
||||
}
|
||||
|
||||
public partial class Partial2
|
||||
{
|
||||
public partial object this[int index] { get; set; }
|
||||
}
|
||||
|
||||
public partial class PartialTest
|
||||
{
|
||||
public void M()
|
||||
{
|
||||
var o = Source<object>(1);
|
||||
|
||||
var p1 = new Partial1();
|
||||
p1[0] = o;
|
||||
Sink(p1[0]); // $ hasValueFlow=1
|
||||
|
||||
var p2 = new Partial2();
|
||||
p2[0] = o;
|
||||
Sink(p2[0]); // no flow
|
||||
}
|
||||
|
||||
public static void Sink(object o) { }
|
||||
|
||||
static T Source<T>(object source) => throw null;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -31,6 +31,10 @@
|
||||
| Dapper;SqlMapper;QueryAsync<TReturn>;(System.Data.IDbConnection,System.String,System.Type[],System.Func<System.Object[],TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| Dapper;SqlMapper;add_QueryCachePurged;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Dapper;SqlMapper;remove_QueryCachePurged;(System.EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;Add;(System.Type,System.Func<System.IServiceProvider,System.Object>,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;AddScoped;(System.Type,System.Func<System.IServiceProvider,System.Object>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;AddSingleton;(System.Type,System.Func<System.IServiceProvider,System.Object>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;AddTransient;(System.Type,System.Func<System.IServiceProvider,System.Object>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;Register<TService,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6>;(Funq.Func<Funq.Container,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TService>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;Register<TService,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6>;(System.String,Funq.Func<Funq.Container,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TService>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;Register<TService,TArg1,TArg2,TArg3,TArg4,TArg5>;(Funq.Func<Funq.Container,TArg1,TArg2,TArg3,TArg4,TArg5,TService>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -46,6 +50,7 @@
|
||||
| Funq;Container;Register<TService>;(System.Func<Funq.Container,TService>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;Register<TService>;(System.String,System.Func<Funq.Container,TService>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;RegisterFactory<TService>;(System.Func<System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Container;RegisterServiceProviderFactory<TService>;(System.Func<System.IServiceProvider,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Func<T1,T2,T3,T4,T5,T6,T7,TResult>;BeginInvoke;(T1,T2,T3,T4,T5,T6,T7,System.AsyncCallback,System.Object);Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Func<T1,T2,T3,T4,T5,T6,TResult>;BeginInvoke;(T1,T2,T3,T4,T5,T6,System.AsyncCallback,System.Object);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated |
|
||||
| Funq;Func<T1,T2,T3,T4,T5,TResult>;BeginInvoke;(T1,T2,T3,T4,T5,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -117,6 +122,7 @@
|
||||
| Microsoft.AspNetCore.Builder;EndpointRoutingApplicationBuilderExtensions;UseEndpoints;(Microsoft.AspNetCore.Builder.IApplicationBuilder,System.Action<Microsoft.AspNetCore.Routing.IEndpointRouteBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;ExceptionHandlerExtensions;UseExceptionHandler;(Microsoft.AspNetCore.Builder.IApplicationBuilder,System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;ExceptionHandlerOptions;set_ExceptionHandler;(Microsoft.AspNetCore.Http.RequestDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;ExceptionHandlerOptions;set_StatusCodeSelector;(System.Func<System.Exception,System.Int32>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;FallbackEndpointRouteBuilderExtensions;MapFallback;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,Microsoft.AspNetCore.Http.RequestDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;FallbackEndpointRouteBuilderExtensions;MapFallback;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,Microsoft.AspNetCore.Http.RequestDelegate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;HostFilteringServicesExtensions;AddHostFiltering;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<Microsoft.AspNetCore.HostFiltering.HostFilteringOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -138,6 +144,7 @@
|
||||
| Microsoft.AspNetCore.Builder;RoutingBuilderExtensions;UseRouter;(Microsoft.AspNetCore.Builder.IApplicationBuilder,System.Action<Microsoft.AspNetCore.Routing.IRouteBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;RoutingEndpointConventionBuilderExtensions;WithDisplayName<TBuilder>;(TBuilder,System.Func<Microsoft.AspNetCore.Builder.EndpointBuilder,System.String>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;RunExtensions;Run;(Microsoft.AspNetCore.Builder.IApplicationBuilder,Microsoft.AspNetCore.Http.RequestDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;ServerRazorComponentsEndpointConventionBuilderExtensions;AddInteractiveServerRenderMode;(Microsoft.AspNetCore.Builder.RazorComponentsEndpointConventionBuilder,System.Action<Microsoft.AspNetCore.Components.Server.ServerComponentsEndpointOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;StaticFileOptions;set_OnPrepareResponse;(System.Action<Microsoft.AspNetCore.StaticFiles.StaticFileResponseContext>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;StaticFileOptions;set_OnPrepareResponseAsync;(System.Func<Microsoft.AspNetCore.StaticFiles.StaticFileResponseContext,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Builder;StatusCodePagesExtensions;UseStatusCodePages;(Microsoft.AspNetCore.Builder.IApplicationBuilder,System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -201,6 +208,7 @@
|
||||
| Microsoft.AspNetCore.Components.Routing;Router;set_NotFound;(Microsoft.AspNetCore.Components.RenderFragment);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Sections;SectionContent;set_ChildContent;(Microsoft.AspNetCore.Components.RenderFragment);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Server.Circuits;CircuitHandler;CreateInboundActivityHandler;(System.Func<Microsoft.AspNetCore.Components.Server.Circuits.CircuitInboundActivityContext,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Server;ServerComponentsEndpointOptions;set_ConfigureWebSocketAcceptContext;(System.Func<Microsoft.AspNetCore.Http.HttpContext,Microsoft.AspNetCore.Http.WebSocketAcceptContext,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Web.Virtualization;ItemsProviderDelegate<TItem>;BeginInvoke;(Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderRequest,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Web.Virtualization;Virtualize<TItem>;set_ChildContent;(Microsoft.AspNetCore.Components.RenderFragment<TItem>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Components.Web.Virtualization;Virtualize<TItem>;set_EmptyContent;(Microsoft.AspNetCore.Components.RenderFragment);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -350,6 +358,9 @@
|
||||
| Microsoft.AspNetCore.Cors.Infrastructure;CorsOptions;AddPolicy;(System.String,System.Action<Microsoft.AspNetCore.Cors.Infrastructure.CorsPolicyBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Cors.Infrastructure;CorsPolicy;set_IsOriginAllowed;(System.Func<System.String,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Cors.Infrastructure;CorsPolicyBuilder;SetIsOriginAllowed;(System.Func<System.String,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection.KeyManagement;IDeletableKeyManager;DeleteKeys;(System.Func<Microsoft.AspNetCore.DataProtection.KeyManagement.IKey,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection.KeyManagement;XmlKeyManager;DeleteKeys;(System.Func<Microsoft.AspNetCore.DataProtection.KeyManagement.IKey,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection.Repositories;IDeletableXmlRepository;DeleteElements;(System.Action<System.Collections.Generic.IReadOnlyCollection<Microsoft.AspNetCore.DataProtection.Repositories.IDeletableElement>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection;DataProtectionBuilderExtensions;AddKeyEscrowSink;(Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder,System.Func<System.IServiceProvider,Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection;DataProtectionBuilderExtensions;AddKeyManagementOptions;(Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder,System.Action<Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.DataProtection;DataProtectionProvider;Create;(System.IO.DirectoryInfo,System.Action<Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -620,6 +631,8 @@
|
||||
| Microsoft.AspNetCore.Routing;RouteHandler;RouteHandler;(Microsoft.AspNetCore.Http.RequestDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Routing;RouteHandlerServices;Map;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,System.Delegate,System.Collections.Generic.IEnumerable<System.String>,System.Func<System.Reflection.MethodInfo,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult>,System.Func<System.Delegate,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult,Microsoft.AspNetCore.Http.RequestDelegateResult>);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Routing;RouteHandlerServices;Map;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,System.Delegate,System.Collections.Generic.IEnumerable<System.String>,System.Func<System.Reflection.MethodInfo,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult>,System.Func<System.Delegate,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult,Microsoft.AspNetCore.Http.RequestDelegateResult>);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Routing;RouteHandlerServices;Map;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,System.Delegate,System.Collections.Generic.IEnumerable<System.String>,System.Func<System.Reflection.MethodInfo,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult>,System.Func<System.Delegate,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult,Microsoft.AspNetCore.Http.RequestDelegateResult>,System.Reflection.MethodInfo);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Routing;RouteHandlerServices;Map;(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String,System.Delegate,System.Collections.Generic.IEnumerable<System.String>,System.Func<System.Reflection.MethodInfo,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult>,System.Func<System.Delegate,Microsoft.AspNetCore.Http.RequestDelegateFactoryOptions,Microsoft.AspNetCore.Http.RequestDelegateMetadataResult,Microsoft.AspNetCore.Http.RequestDelegateResult>,System.Reflection.MethodInfo);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.IISIntegration;IISMiddleware;IISMiddleware;(Microsoft.AspNetCore.Http.RequestDelegate,Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Builder.IISOptions>,System.String,Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider,Microsoft.Extensions.Hosting.IHostApplicationLifetime);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.IISIntegration;IISMiddleware;IISMiddleware;(Microsoft.AspNetCore.Http.RequestDelegate,Microsoft.Extensions.Logging.ILoggerFactory,Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Builder.IISOptions>,System.String,System.Boolean,Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider,Microsoft.Extensions.Hosting.IHostApplicationLifetime);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Core;KestrelServerOptions;ConfigureEndpointDefaults;(System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -638,6 +651,7 @@
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Https;HttpsConnectionAdapterOptions;set_OnAuthenticate;(System.Action<Microsoft.AspNetCore.Connections.ConnectionContext,System.Net.Security.SslServerAuthenticationOptions>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Https;HttpsConnectionAdapterOptions;set_ServerCertificateSelector;(System.Func<Microsoft.AspNetCore.Connections.ConnectionContext,System.String,System.Security.Cryptography.X509Certificates.X509Certificate2>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Https;TlsHandshakeCallbackOptions;set_OnConnection;(System.Func<Microsoft.AspNetCore.Server.Kestrel.Https.TlsHandshakeCallbackContext,System.Threading.Tasks.ValueTask<System.Net.Security.SslServerAuthenticationOptions>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes;NamedPipeTransportOptions;set_CreateNamedPipeServerStream;(System.Func<Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.CreateNamedPipeServerStreamContext,System.IO.Pipes.NamedPipeServerStream>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets;SocketTransportOptions;set_CreateBoundListenSocket;(System.Func<System.Net.EndPoint,System.Net.Sockets.Socket>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;AnyIPEndpoint;(System.Int32,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;Endpoint;(System.Net.IPAddress,System.Int32,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -645,6 +659,7 @@
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;Endpoint;(System.String,System.Action<Microsoft.AspNetCore.Server.Kestrel.EndpointConfiguration>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;HandleEndpoint;(System.UInt64,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;LocalhostEndpoint;(System.Int32,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;NamedPipeEndpoint;(System.String,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Server.Kestrel;KestrelConfigurationLoader;UnixSocketEndpoint;(System.String,System.Action<Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Session;DistributedSession;DistributedSession;(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.TimeSpan,System.TimeSpan,System.Func<System.Boolean>,Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.AspNetCore.Session;ISessionStore;Create;(System.String,System.TimeSpan,System.TimeSpan,System.Func<System.Boolean>,System.Boolean);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -686,6 +701,8 @@
|
||||
| Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Hybrid;HybridCache;GetOrCreateAsync<T>;(System.String,System.Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>>,Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions,System.Collections.Generic.IEnumerable<System.String>,System.Threading.CancellationToken);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Hybrid;HybridCache;GetOrCreateAsync<TState,T>;(System.String,TState,System.Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>>,Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions,System.Collections.Generic.IEnumerable<System.String>,System.Threading.CancellationToken);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];Argument[0].Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);Argument[1];ReturnValue.Property[Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens].Element;value;dfc-generated |
|
||||
@@ -710,7 +727,12 @@
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>);Argument[2].ReturnValue;ReturnValue;value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2].ReturnValue;ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2].ReturnValue;ReturnValue;value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreate<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,TItem>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreateAsync<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Threading.Tasks.Task<TItem>>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;GetOrCreateAsync<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,System.Func<Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Threading.Tasks.Task<TItem>>,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;Set<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);Argument[2];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;Set<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);Argument[2];ReturnValue;value;dfc-generated |
|
||||
| Microsoft.Extensions.Caching.Memory;CacheExtensions;Set<TItem>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Primitives.IChangeToken);Argument[2];ReturnValue;value;dfc-generated |
|
||||
@@ -2173,14 +2195,6 @@
|
||||
| Newtonsoft.Json;JsonValidatingReader;remove_ValidationEventHandler;(Newtonsoft.Json.Schema.ValidationEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.AI;SpeechToTextFactory;set_Resolve;(System.Func<System.String,ServiceStack.AI.ISpeechToText>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.AI;TypeChatFactory;set_Resolve;(System.Func<System.String,ServiceStack.AI.ITypeChat>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;RemoveFromUserForm;(System.Predicate<ServiceStack.InputInfo>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnAfterCreateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnAfterDeleteUser;(System.Func<System.String,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnAfterUpdateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnBeforeCreateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnBeforeDeleteUser;(System.Func<System.String,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_OnBeforeUpdateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Admin;AdminUsersFeature;set_ValidateFn;(ServiceStack.Auth.ValidateAsyncFn);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.AsyncEx;TaskCompletionSourceExtensions;TryCompleteFromCompletedTask<TResult>;(System.Threading.Tasks.TaskCompletionSource<TResult>,System.Threading.Tasks.Task,System.Func<TResult>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Auth;ApiKeyAuthProvider;set_CreateApiKeyFilter;(System.Action<ServiceStack.Auth.ApiKey>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Auth;ApiKeyAuthProvider;set_GenerateApiKey;(ServiceStack.Auth.CreateApiKeyDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -2219,6 +2233,7 @@
|
||||
| ServiceStack.Auth;RegisterService;set_ValidateFn;(ServiceStack.Auth.ValidateFn);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Auth;ValidateAsyncFn;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Auth;ValidateFn;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Auth;ValidateRequestAsyncFn;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Configuration;AppSettingsBase;set_ParsingStrategy;(ServiceStack.Configuration.ParsingStrategyDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Configuration;ParsingStrategyDelegate;BeginInvoke;(System.String,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Data;DbConnectionFactory;DbConnectionFactory;(System.Func<System.Data.IDbConnection>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -2450,7 +2465,7 @@
|
||||
| ServiceStack.Host;HandleServiceExceptionDelegate;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;HandleUncaughtExceptionAsyncDelegate;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;HandleUncaughtExceptionDelegate;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;HttpHandlerResolverDelegate;BeginInvoke;(System.String,System.String,System.String,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;HttpHandlerResolverDelegate;BeginInvoke;(ServiceStack.Web.IRequest,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;IHttpAsyncHandler;Middleware;(Microsoft.AspNetCore.Http.HttpContext,System.Func<System.Threading.Tasks.Task>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;InstanceExecFn;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Object,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;MetadataTypeExtensions;ToMetadataServiceRoutes;(System.Collections.Generic.Dictionary<System.Type,System.String[]>,System.Action<System.Collections.Generic.Dictionary<System.String,System.String[]>>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -2459,6 +2474,8 @@
|
||||
| ServiceStack.Host;ServiceController;ServiceController;(ServiceStack.ServiceStackHost,System.Func<System.Collections.Generic.IEnumerable<System.Type>>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;ServiceController;set_ResolveServicesFn;(System.Func<System.Collections.Generic.IEnumerable<System.Type>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;ServiceExecFn;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;ServiceMetadata;AddReferencedTypes;(System.Collections.Generic.HashSet<System.Type>,System.Type,System.Func<System.Type,System.Boolean>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;ServiceMetadata;GetDtoTypes;(System.Func<System.Type,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;StreamSerializerResolverDelegate;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,ServiceStack.Web.IResponse,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;TypedFilter<T>;TypedFilter;(System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Host;TypedFilterAsync<T>;TypedFilterAsync;(System.Func<ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,T,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -2491,6 +2508,10 @@
|
||||
| ServiceStack.IO;IVirtualFilesAsync;WriteFilesAsync;(System.Collections.Generic.IEnumerable<ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.IO.IVirtualFile,System.String>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.IO;VirtualFilesExtensions;CopyFrom;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable<ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.IO.IVirtualFile,System.String>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.IO;VirtualFilesExtensions;WriteFiles;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable<ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.IO.IVirtualFile,System.String>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Jobs;BackgroundJob;set_OnFailed;(System.Action<System.Exception>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Jobs;BackgroundJob;set_OnSuccess;(System.Action<System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Jobs;BackgroundJobOptions;set_OnFailed;(System.Action<System.Exception>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Jobs;BackgroundJobOptions;set_OnSuccess;(System.Action<System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Logging;GenericLogFactory;GenericLogFactory;(System.Action<System.String>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Messaging;BackgroundMqService;CreateMessageHandlerFactory<T>;(System.Func<ServiceStack.Messaging.IMessage<T>,System.Object>,System.Action<ServiceStack.Messaging.IMessageHandler,ServiceStack.Messaging.IMessage<T>,System.Exception>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Messaging;BackgroundMqService;CreateMessageHandlerFactory<T>;(System.Func<ServiceStack.Messaging.IMessage<T>,System.Object>,System.Action<ServiceStack.Messaging.IMessageHandler,ServiceStack.Messaging.IMessage<T>,System.Exception>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3395,6 +3416,9 @@
|
||||
| ServiceStack.Script;ScriptContext;set_OnRenderException;(System.Action<ServiceStack.Script.PageResult,System.Exception>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Script;ScriptContext;set_OnUnhandledExpression;(System.Func<ServiceStack.Script.PageVariableFragment,System.ReadOnlyMemory<System.Byte>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Script;ScriptMethodInfo;GetScriptMethods;(System.Type,System.Func<System.Reflection.MethodInfo,System.Boolean>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Serialization;StringMapTypeDeserializer+PropertySerializerEntry;PropertySerializerEntry;(ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.Text.Common.ParseStringDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Serialization;StringMapTypeDeserializer+PropertySerializerEntry;PropertySerializerEntry;(ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.Text.Common.ParseStringDelegate);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Serialization;StringMapTypeDeserializer+PropertySerializerEntry;PropertySerializerEntry;(ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.Text.Common.ParseStringDelegate);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Support;ActionExecHandler;ActionExecHandler;(System.Action,System.Threading.AutoResetEvent);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Support;AdapterBase;Execute;(System.Action);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Support;AdapterBase;Execute<T>;(System.Func<T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3449,6 +3473,7 @@
|
||||
| ServiceStack.Text.Pools;ObjectPool<T>;ObjectPool;(ServiceStack.Text.Pools.ObjectPool<T>+Factory,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text.Pools;PooledObject<T>;PooledObject;(ServiceStack.Text.Pools.ObjectPool<T>,System.Func<ServiceStack.Text.Pools.ObjectPool<T>,T>,System.Action<ServiceStack.Text.Pools.ObjectPool<T>,T>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text.Pools;PooledObject<T>;PooledObject;(ServiceStack.Text.Pools.ObjectPool<T>,System.Func<ServiceStack.Text.Pools.ObjectPool<T>,T>,System.Action<ServiceStack.Text.Pools.ObjectPool<T>,T>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;Config;UnsafeInit;(System.Action<ServiceStack.Text.Config>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;Config;set_ModelFactory;(ServiceStack.EmptyCtorFactoryDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;Config;set_OnDeserializationError;(ServiceStack.Text.Common.DeserializationErrorDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;Config;set_ParsePrimitiveFn;(System.Func<System.String,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3505,12 +3530,14 @@
|
||||
| ServiceStack.Text;RecyclableMemoryStreamManager;remove_StreamFinalized;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;RecyclableMemoryStreamManager;remove_StreamLength;(ServiceStack.Text.RecyclableMemoryStreamManager+StreamLengthReportHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;RecyclableMemoryStreamManager;remove_UsageReport;(ServiceStack.Text.RecyclableMemoryStreamManager+UsageReportEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;TextConfig;ConfigureJsonOptions;(System.Action<System.Text.Json.JsonSerializerOptions>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;TextConfig;set_CreateSha;(System.Func<System.Security.Cryptography.SHA1>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;TypeConfig<T>;set_OnDeserializing;(System.Func<System.Object,System.String,System.Object,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Text;TypeSerializer;set_OnSerialize;(System.Action<System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Validation;ValidationError;get_Message;();Argument[this].Property[System.Exception.Message];ReturnValue;value;dfc-generated |
|
||||
| ServiceStack.Validation;ValidationError;get_Message;();Argument[this].SyntheticField[System.ArgumentException._paramName];ReturnValue;taint;dfc-generated |
|
||||
| ServiceStack.Validation;ValidationError;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated |
|
||||
| ServiceStack.Validation;ValidationExtensions;RegisterValidator<T>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func<System.IServiceProvider,ServiceStack.FluentValidation.IValidator<T>>,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Validation;ValidationFeature;set_ErrorResponseFilter;(System.Func<ServiceStack.Web.IRequest,ServiceStack.FluentValidation.Results.ValidationResult,System.Object,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.VirtualPath;AbstractVirtualDirectoryBase;GetPathToRoot;(System.String,System.Func<ServiceStack.IO.IVirtualDirectory,System.String>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.VirtualPath;AbstractVirtualFileBase;GetPathToRoot;(System.String,System.Func<ServiceStack.IO.IVirtualDirectory,System.String>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3534,10 +3561,21 @@
|
||||
| ServiceStack.Web;TextDeserializerDelegate;BeginInvoke;(System.Type,System.String,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack.Web;TextSerializerDelegate;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ActionInvoker;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;RemoveFromUserForm;(System.Predicate<ServiceStack.InputInfo>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnAfterCreateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnAfterDeleteUser;(System.Func<System.String,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnAfterUpdateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnBeforeCreateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnBeforeDeleteUser;(System.Func<System.String,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_OnBeforeUpdateUser;(System.Func<ServiceStack.Auth.IUserAuth,ServiceStack.Auth.IUserAuth,ServiceStack.Service,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AdminUsersFeature;set_ValidateFn;(ServiceStack.Auth.ValidateAsyncFn);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ApiAllowableValuesAttribute;ApiAllowableValuesAttribute;(System.Func<System.String[]>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ApiAllowableValuesAttribute;ApiAllowableValuesAttribute;(System.String,System.Func<System.String[]>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ApiKeyValidator;ApiKeyValidator;(System.Func<ServiceStack.IApiKeySource>,System.Func<ServiceStack.IApiKeyResolver>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ApiKeyValidator;ApiKeyValidator;(System.Func<ServiceStack.IApiKeySource>,System.Func<ServiceStack.IApiKeyResolver>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostBase;ProcessRequest;(Microsoft.AspNetCore.Http.HttpContext,System.Func<System.Threading.Tasks.Task>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostBase;set_BeforeNextMiddleware;(System.Func<ServiceStack.Host.NetCore.NetCoreRequest,System.Threading.Tasks.Task>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostBase;set_IgnoreRequestHandler;(System.Func<Microsoft.AspNetCore.Http.HttpContext,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostBase;set_NetCoreHandler;(System.Func<Microsoft.AspNetCore.Http.HttpContext,System.Threading.Tasks.Task<System.Boolean>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostExtensions;AddIfNotExists<T>;(System.Collections.Generic.List<ServiceStack.IPlugin>,T,System.Action<T>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AppHostExtensions;ConfigureOperation<T>;(ServiceStack.IAppHost,System.Action<ServiceStack.Host.Operation>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3580,7 +3618,7 @@
|
||||
| ServiceStack;AsyncServiceClient;set_ResultsFilterResponse;(ServiceStack.ResultsFilterResponseDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AsyncServiceClient;set_StreamDeserializer;(ServiceStack.Web.StreamDeserializerDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AsyncServiceClient;set_StreamSerializer;(ServiceStack.Web.StreamSerializerDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AuthFeature;AuthFeature;(System.Action<ServiceStack.AuthFeature>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AuthFeature;AuthFeature;(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection,ServiceStack.AuthFeature>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AuthFeature;AuthFeature;(System.Func<ServiceStack.Auth.IAuthSession>,ServiceStack.Auth.IAuthProvider[],System.String);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AuthFeature;set_AllowGetAuthenticateRequests;(System.Func<ServiceStack.Web.IRequest,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;AuthFeature;set_AuthResponseDecorator;(System.Func<ServiceStack.Auth.AuthFilterContext,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3610,8 +3648,14 @@
|
||||
| ServiceStack;CacheClientExtensions;GetOrCreateAsync<T>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.Func<System.Threading.Tasks.Task<T>>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CacheClientExtensions;GetOrCreateAsync<T>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.TimeSpan,System.Func<System.Threading.Tasks.Task<T>>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CachedExpressionCompiler;Compile<TModel,TValue>;(System.Linq.Expressions.Expression<System.Func<TModel,TValue>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ClaimUtils;ToAuthenticateResponse;(System.Security.Claims.ClaimsPrincipal,System.Action<ServiceStack.AuthenticateResponse>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ClientConfig;set_EncodeDispositionFileName;(System.Func<System.String,System.String>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ClientConfig;set_EvalExpression;(System.Func<System.String,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CommandResult;Clone;(System.Action<ServiceStack.CommandResult>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CommandsFeature+AsyncMethodInvoker;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CommandsFeature;ExecuteCommandAsync;(System.Type,System.Func<System.Object,System.Threading.Tasks.Task>,System.Object,ServiceStack.Web.IRequest,System.Threading.CancellationToken);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CommandsFeature;set_ShouldIgnore;(System.Func<ServiceStack.CommandResult,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CommandsFeature;set_SkipRetryingExceptions;(System.Func<System.Exception,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;CompareTypeUtils;Aggregate;(System.Collections.IEnumerable,System.Func<System.Object,System.Object,System.Object>,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ContainerExtensions;AddSingleton<TService>;(ServiceStack.IContainer,System.Func<TService>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ContainerExtensions;AddTransient<TService>;(ServiceStack.IContainer,System.Func<TService>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3672,10 +3716,15 @@
|
||||
| ServiceStack;ExecUtils;ExecReturnFirstWithResultAsync<T,TReturn>;(System.Collections.Generic.IEnumerable<T>,System.Func<T,System.Threading.Tasks.Task<TReturn>>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnException;(System.Action,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnException;(System.Action,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnException<T>;(System.Func<T>,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnExceptionAsync;(System.Func<System.Threading.Tasks.Task>,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnExceptionAsync;(System.Func<System.Threading.Tasks.Task>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryOnExceptionAsync<T>;(System.Func<System.Threading.Tasks.Task<T>>,System.Int32);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryUntilTrue;(System.Func<System.Boolean>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;RetryUntilTrueAsync;(System.Func<System.Threading.Tasks.Task<System.Boolean>>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;WaitUntilTrue;(System.Func<System.Boolean>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;WaitUntilTrueAsync;(System.Func<System.Boolean>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExecUtils;WaitUntilTrueAsync;(System.Func<System.Threading.Tasks.Task<System.Boolean>>,System.Nullable<System.TimeSpan>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExpressionUtils;AssignedValues<T>;(System.Linq.Expressions.Expression<System.Func<T>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExpressionUtils;GetFieldNames<T>;(System.Linq.Expressions.Expression<System.Func<T,System.Object>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ExpressionUtils;GetMemberExpression<T>;(System.Linq.Expressions.Expression<System.Func<T,System.Object>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3698,6 +3747,7 @@
|
||||
| ServiceStack;HostContext;ConfigureAppHost;(System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HostContext;ConfigureAppHost;(System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HostContext;ConfigureAppHost;(System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HostContext;ConfigureServices;(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HtmlModule;set_FileContentsResolver;(System.Func<ServiceStack.IO.IVirtualFile,System.String>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HtmlModuleContext;Cache;(System.String,System.Func<System.String,System.ReadOnlyMemory<System.Byte>>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;HtmlModulesFeature;Configure;(System.Action<ServiceStack.IAppHost,ServiceStack.HtmlModule>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -3959,10 +4009,17 @@
|
||||
| ServiceStack;NativeTypesFeature;ExportAttribute;(System.Type,System.Func<System.Attribute,ServiceStack.MetadataAttribute>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NativeTypesFeature;ExportAttribute<T>;(System.Func<System.Attribute,ServiceStack.MetadataAttribute>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NativeTypesFeature;set_ShouldInitializeCollection;(System.Func<ServiceStack.MetadataType,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;AddServiceStack;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable<System.Reflection.Assembly>,System.Action<ServiceStack.ServiceStackServicesOptions>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;AddServiceStack;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Reflection.Assembly,System.Action<ServiceStack.ServiceStackServicesOptions>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>,System.Action<ServiceStack.ServiceStackHost>);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;MapEndpoints;(ServiceStack.IAppHostNetCore,System.Action<Microsoft.AspNetCore.Routing.IEndpointRouteBuilder>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ProcessRequestAsync;(Microsoft.AspNetCore.Http.HttpContext,ServiceStack.Host.Handlers.HttpAsyncTaskHandler,System.String,System.Action<ServiceStack.Web.IRequest>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ProcessRequestAsync;(Microsoft.AspNetCore.Http.HttpContext,System.Func<ServiceStack.Web.IRequest,ServiceStack.Host.Handlers.HttpAsyncTaskHandler>,System.String,System.Action<ServiceStack.Web.IRequest>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;ProcessRequestAsync;(Microsoft.AspNetCore.Http.HttpContext,System.Func<ServiceStack.Web.IRequest,ServiceStack.Host.Handlers.HttpAsyncTaskHandler>,System.String,System.Action<ServiceStack.Web.IRequest>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetCoreAppHostExtensions;UseServiceStack;(Microsoft.AspNetCore.Builder.IApplicationBuilder,ServiceStack.AppHostBase,System.Action<ServiceStack.ServiceStackOptions>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;NetStandardPclExportClient;GetHeader;(System.Net.WebHeaderCollection,System.String,System.Func<System.String,System.Boolean>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ObjectActivator;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;OrderByExpression;OrderByExpression;(System.String,ServiceStack.GetMemberDelegate,System.Boolean);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -4025,7 +4082,7 @@
|
||||
| ServiceStack;ResultsFilterHttpDelegate;BeginInvoke;(System.Type,System.String,System.String,System.Object,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ResultsFilterHttpResponseDelegate;BeginInvoke;(System.Net.Http.HttpResponseMessage,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ResultsFilterResponseDelegate;BeginInvoke;(System.Net.WebResponse,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SameSiteCookiesServiceCollectionExtensions;ConfigureNonBreakingSameSiteCookies;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<Microsoft.AspNetCore.Builder.CookiePolicyOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;RouteHandlerBuilderDelegate;BeginInvoke;(Microsoft.AspNetCore.Builder.RouteHandlerBuilder,ServiceStack.Host.Operation,System.String,System.String,System.AsyncCallback,System.Object);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServerEventCallback;BeginInvoke;(ServiceStack.ServerEventsClient,ServiceStack.ServerEventMessage,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServerEventsClient;AddListener;(System.String,System.Action<ServiceStack.ServerEventMessage>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServerEventsClient;HasListener;(System.String,System.Action<ServiceStack.ServerEventMessage>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -4075,13 +4132,21 @@
|
||||
| ServiceStack;ServiceClientBase;set_TypedUrlResolver;(ServiceStack.TypedUrlResolverDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceClientBase;set_UrlResolver;(ServiceStack.UrlResolverDelegate);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceClientExtensions;Apply<T>;(T,System.Action<T>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionExtensions;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func<System.IServiceProvider,System.Object>,Microsoft.Extensions.DependencyInjection.ServiceLifetime);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionExtensions;ConfigureJsonOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<System.Text.Json.JsonSerializerOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionExtensions;ConfigurePlugin<T>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<T>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionExtensions;ConfigureScriptContext;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<ServiceStack.Script.ScriptContext>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionExtensions;PostConfigurePlugin<T>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<T>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceCollectionSameSiteCookiesExtensions;ConfigureNonBreakingSameSiteCookies;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action<Microsoft.AspNetCore.Builder.CookiePolicyOptions>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceExtensions;RunAction<TService,TRequest>;(TService,TRequest,System.Func<TService,TRequest,System.Object>,ServiceStack.Web.IRequest);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;ServiceStackServicesOptions;ResolveAssemblyRequestTypes;(System.Func<System.Type,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SetMemberDelegate;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SetMemberDelegate<T>;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SetMemberRefDelegate;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SetMemberRefDelegate<T>;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SharpPageHandler;set_Filter;(System.Action<ServiceStack.Web.IRequest>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SharpPageHandler;set_ValidateFn;(System.Func<ServiceStack.Web.IRequest,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;SharpPagesFeature;set_Configure;(System.Action<ServiceStack.SharpPagesFeature>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;StaticActionInvoker;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;StaticMethodInvoker;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;StringExtensions;ToCsv<T>;(T,System.Action<ServiceStack.Text.Config>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -4100,12 +4165,12 @@
|
||||
| ServiceStack;TopLevelAppModularStartup;Create<THost>;(THost,Microsoft.Extensions.Configuration.IConfiguration,System.Func<System.Collections.Generic.IEnumerable<System.Type>>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;TopLevelAppModularStartup;TopLevelAppModularStartup;(System.Type,ServiceStack.AppHostBase,Microsoft.Extensions.Configuration.IConfiguration,System.Func<System.Collections.Generic.IEnumerable<System.Type>>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;TypedUrlResolverDelegate;BeginInvoke;(ServiceStack.IServiceClientMeta,System.String,System.Object,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UiFeature;set_Configure;(System.Action<ServiceStack.IAppHost>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[10];Argument[10].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[11];Argument[11].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[12];Argument[12].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[13];Argument[13].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UiFeature;set_OnConfigure;(System.Action<ServiceStack.IAppHost>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,ServiceStack.RequireApiKey,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,ServiceStack.RequireApiKey,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[11];Argument[11].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,ServiceStack.RequireApiKey,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[12];Argument[12].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,ServiceStack.RequireApiKey,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[13];Argument[13].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func<ServiceStack.FilesUploadContext,System.String>,System.String,System.String,ServiceStack.RequireApiKey,System.String[],ServiceStack.FilesUploadOperation,System.Nullable<System.Int32>,System.Nullable<System.Int64>,System.Nullable<System.Int64>,System.Action<ServiceStack.Web.IRequest,ServiceStack.Web.IHttpFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>,System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[14];Argument[14].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;set_ResolvePath;(System.Func<ServiceStack.FilesUploadContext,System.String>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;set_TransformFileAsync;(System.Func<ServiceStack.FilesUploadContext,System.Threading.Tasks.Task<ServiceStack.Web.IHttpFile>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| ServiceStack;UploadLocation;set_ValidateDelete;(System.Action<ServiceStack.Web.IRequest,ServiceStack.IO.IVirtualFile>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -4144,6 +4209,7 @@
|
||||
| System.Buffers;ReadOnlySequence<T>;get_FirstSpan;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Buffers;ReadOnlySpanAction<T,TArg>;BeginInvoke;(System.ReadOnlySpan<T>,TArg,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Buffers;SearchValues;Create;(System.ReadOnlySpan<System.Byte>);Argument[0];ReturnValue;taint;df-generated |
|
||||
| System.Buffers;SearchValues;Create;(System.ReadOnlySpan<System.String>,System.StringComparison);Argument[0];ReturnValue;taint;df-generated |
|
||||
| System.Buffers;SequenceReader<T>;SequenceReader;(System.Buffers.ReadOnlySequence<T>);Argument[0];Argument[this];taint;df-generated |
|
||||
| System.Buffers;SequenceReader<T>;TryCopyTo;(System.Span<T>);Argument[this].Property[System.Buffers.SequenceReader`1.CurrentSpan].Element;Argument[0].Element;value;dfc-generated |
|
||||
| System.Buffers;SequenceReader<T>;TryCopyTo;(System.Span<T>);Argument[this].Property[System.Buffers.SequenceReader`1.UnreadSpan].Element;Argument[0].Element;value;dfc-generated |
|
||||
@@ -4863,6 +4929,8 @@
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;PriorityQueue;(System.Collections.Generic.IComparer<TPriority>);Argument[0];Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer];value;dfc-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;PriorityQueue;(System.Collections.Generic.IEnumerable<System.ValueTuple<TElement,TPriority>>,System.Collections.Generic.IComparer<TPriority>);Argument[1];Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer];value;dfc-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;PriorityQueue;(System.Int32,System.Collections.Generic.IComparer<TPriority>);Argument[1];Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer];value;dfc-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;Remove;(TElement,TElement,TPriority,System.Collections.Generic.IEqualityComparer<TElement>);Argument[0];Argument[3];taint;df-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;Remove;(TElement,TElement,TPriority,System.Collections.Generic.IEqualityComparer<TElement>);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;TryDequeue;(TElement,TPriority);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;TryPeek;(TElement,TPriority);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Collections.Generic;PriorityQueue<TElement,TPriority>;get_Comparer;();Argument[this].SyntheticField[System.Collections.Generic.PriorityQueue`2._comparer];ReturnValue;value;dfc-generated |
|
||||
@@ -7693,6 +7761,7 @@
|
||||
| System.Diagnostics;ActivityLink;get_Tags;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Diagnostics;ActivityListener;set_ActivityStarted;(System.Action<System.Diagnostics.Activity>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ActivityListener;set_ActivityStopped;(System.Action<System.Diagnostics.Activity>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ActivityListener;set_ExceptionRecorder;(System.Diagnostics.ExceptionRecorder);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ActivityListener;set_Sample;(System.Diagnostics.SampleActivity<System.Diagnostics.ActivityContext>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ActivityListener;set_SampleUsingParentId;(System.Diagnostics.SampleActivity<System.String>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ActivityListener;set_ShouldListenTo;(System.Func<System.Diagnostics.ActivitySource,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -7749,6 +7818,7 @@
|
||||
| System.Diagnostics;EntryWrittenEventHandler;BeginInvoke;(System.Object,System.Diagnostics.EntryWrittenEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;EventLog;add_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;EventLog;remove_EntryWritten;(System.Diagnostics.EntryWrittenEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;ExceptionRecorder;BeginInvoke;(System.Diagnostics.Activity,System.Exception,System.Diagnostics.TagList,System.AsyncCallback,System.Object);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Diagnostics;FileVersionInfo;GetVersionInfo;(System.String);Argument[0];ReturnValue.SyntheticField[System.Diagnostics.FileVersionInfo._fileName];value;dfc-generated |
|
||||
| System.Diagnostics;FileVersionInfo;ToString;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Diagnostics;FileVersionInfo;get_Comments;();Argument[this];ReturnValue;taint;df-generated |
|
||||
@@ -8285,6 +8355,7 @@
|
||||
| System.IO;ErrorEventArgs;ErrorEventArgs;(System.Exception);Argument[0];Argument[this].SyntheticField[System.IO.ErrorEventArgs._exception];value;dfc-generated |
|
||||
| System.IO;ErrorEventArgs;GetException;();Argument[this].SyntheticField[System.IO.ErrorEventArgs._exception];ReturnValue;value;dfc-generated |
|
||||
| System.IO;ErrorEventHandler;BeginInvoke;(System.Object,System.IO.ErrorEventArgs,System.AsyncCallback,System.Object);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.IO;File;AppendAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);Argument[2];ReturnValue;taint;df-generated |
|
||||
| System.IO;File;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable<System.String>,System.Text.Encoding,System.Threading.CancellationToken);Argument[3];ReturnValue;taint;df-generated |
|
||||
| System.IO;File;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable<System.String>,System.Threading.CancellationToken);Argument[2];ReturnValue;taint;df-generated |
|
||||
| System.IO;File;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);Argument[3];ReturnValue;taint;df-generated |
|
||||
@@ -8382,6 +8453,7 @@
|
||||
| System.IO;MemoryStream;TryGetBuffer;(System.ArraySegment<System.Byte>);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.IO;MemoryStream;WriteTo;(System.IO.Stream);Argument[this];Argument[0];taint;df-generated |
|
||||
| System.IO;Path;ChangeExtension;(System.String,System.String);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| System.IO;Path;Combine;(System.ReadOnlySpan<System.String>);Argument[0].Element;ReturnValue;taint;manual |
|
||||
| System.IO;Path;Combine;(System.String,System.String);Argument[0];ReturnValue;taint;manual |
|
||||
| System.IO;Path;Combine;(System.String,System.String);Argument[1];ReturnValue;taint;manual |
|
||||
| System.IO;Path;Combine;(System.String,System.String,System.String);Argument[0];ReturnValue;taint;manual |
|
||||
@@ -8469,6 +8541,7 @@
|
||||
| System.IO;Stream;ReadExactly;(System.Span<System.Byte>);Argument[this];Argument[0].Element;taint;manual |
|
||||
| System.IO;Stream;Synchronized;(System.IO.Stream);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| System.IO;Stream;Write;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual |
|
||||
| System.IO;Stream;Write;(System.ReadOnlySpan<System.Byte>);Argument[0].Element;Argument[this];taint;manual |
|
||||
| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual |
|
||||
| System.IO;Stream;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);Argument[0].Element;Argument[this];taint;manual |
|
||||
| System.IO;Stream;WriteAsync;(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken);Argument[0];ReturnValue;taint;df-generated |
|
||||
@@ -8910,6 +8983,30 @@
|
||||
| System.Linq;Enumerable;Aggregate<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TSource,TSource>);Argument[0].Element;Argument[1].Parameter[1];value;manual |
|
||||
| System.Linq;Enumerable;Aggregate<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TSource,TSource>);Argument[1].ReturnValue;ReturnValue;value;manual |
|
||||
| System.Linq;Enumerable;Aggregate<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TSource,TSource>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[3].Parameter[1];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[3].Parameter[1];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1].ReturnValue;Argument[2].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1].ReturnValue;Argument[2].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2].ReturnValue;Argument[3].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2].ReturnValue;Argument[3].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Func<TKey,TAccumulate>,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[3].Parameter[1];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[3].Parameter[1];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2];Argument[3].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2];Argument[3].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;AggregateBy<TSource,TKey,TAccumulate>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,TAccumulate,System.Func<TAccumulate,TSource,TAccumulate>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;All<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Boolean>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
| System.Linq;Enumerable;All<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Boolean>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Enumerable;Any<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Boolean>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
@@ -8944,6 +9041,10 @@
|
||||
| System.Linq;Enumerable;Contains<TSource>;(System.Collections.Generic.IEnumerable<TSource>,TSource,System.Collections.Generic.IEqualityComparer<TSource>);Argument[1];Argument[2];taint;df-generated |
|
||||
| System.Linq;Enumerable;Count<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Boolean>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
| System.Linq;Enumerable;Count<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Boolean>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Enumerable;CountBy<TSource,TKey>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated |
|
||||
| System.Linq;Enumerable;CountBy<TSource,TKey>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[0].Element;Argument[1].Parameter[0];value;hq-generated |
|
||||
| System.Linq;Enumerable;CountBy<TSource,TKey>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Linq;Enumerable;CountBy<TSource,TKey>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TKey>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Enumerable;DefaultIfEmpty<TSource>;(System.Collections.Generic.IEnumerable<TSource>);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Enumerable;DefaultIfEmpty<TSource>;(System.Collections.Generic.IEnumerable<TSource>,TSource);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Enumerable;DefaultIfEmpty<TSource>;(System.Collections.Generic.IEnumerable<TSource>,TSource);Argument[1];ReturnValue.Element;value;manual |
|
||||
@@ -9054,6 +9155,7 @@
|
||||
| System.Linq;Enumerable;GroupJoin<TOuter,TInner,TKey,TResult>;(System.Collections.Generic.IEnumerable<TOuter>,System.Collections.Generic.IEnumerable<TInner>,System.Func<TOuter,TKey>,System.Func<TInner,TKey>,System.Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Enumerable;GroupJoin<TOuter,TInner,TKey,TResult>;(System.Collections.Generic.IEnumerable<TOuter>,System.Collections.Generic.IEnumerable<TInner>,System.Func<TOuter,TKey>,System.Func<TInner,TKey>,System.Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[4].ReturnValue;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Enumerable;GroupJoin<TOuter,TInner,TKey,TResult>;(System.Collections.Generic.IEnumerable<TOuter>,System.Collections.Generic.IEnumerable<TInner>,System.Func<TOuter,TKey>,System.Func<TInner,TKey>,System.Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[4];Argument[4].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Enumerable;Index<TSource>;(System.Collections.Generic.IEnumerable<TSource>);Argument[0].Element;ReturnValue.Element.Field[System.ValueTuple`2.Item2];value;dfc-generated |
|
||||
| System.Linq;Enumerable;Intersect<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Collections.Generic.IEnumerable<TSource>);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Enumerable;Intersect<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Collections.Generic.IEnumerable<TSource>);Argument[1].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Enumerable;Intersect<TSource>;(System.Collections.Generic.IEnumerable<TSource>,System.Collections.Generic.IEnumerable<TSource>,System.Collections.Generic.IEqualityComparer<TSource>);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
@@ -9901,6 +10003,11 @@
|
||||
| System.Linq;Queryable;Aggregate<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TSource,TSource>>);Argument[0].Element;Argument[1].Parameter[1];value;manual |
|
||||
| System.Linq;Queryable;Aggregate<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TSource,TSource>>);Argument[1].ReturnValue;ReturnValue;value;manual |
|
||||
| System.Linq;Queryable;Aggregate<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TSource,TSource>>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Queryable;AggregateBy<TSource,TKey,TAccumulate>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,System.Linq.Expressions.Expression<System.Func<TKey,TAccumulate>>,System.Linq.Expressions.Expression<System.Func<TAccumulate,TSource,TAccumulate>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;AggregateBy<TSource,TKey,TAccumulate>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,System.Linq.Expressions.Expression<System.Func<TKey,TAccumulate>>,System.Linq.Expressions.Expression<System.Func<TAccumulate,TSource,TAccumulate>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;AggregateBy<TSource,TKey,TAccumulate>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,System.Linq.Expressions.Expression<System.Func<TKey,TAccumulate>>,System.Linq.Expressions.Expression<System.Func<TAccumulate,TSource,TAccumulate>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;AggregateBy<TSource,TKey,TAccumulate>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,TAccumulate,System.Linq.Expressions.Expression<System.Func<TAccumulate,TSource,TAccumulate>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;AggregateBy<TSource,TKey,TAccumulate>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,TAccumulate,System.Linq.Expressions.Expression<System.Func<TAccumulate,TSource,TAccumulate>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;All<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,System.Boolean>>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
| System.Linq;Queryable;All<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,System.Boolean>>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Queryable;Any<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,System.Boolean>>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
@@ -9932,6 +10039,7 @@
|
||||
| System.Linq;Queryable;Concat<TSource>;(System.Linq.IQueryable<TSource>,System.Collections.Generic.IEnumerable<TSource>);Argument[1].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Queryable;Count<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,System.Boolean>>);Argument[0].Element;Argument[1].Parameter[0];value;manual |
|
||||
| System.Linq;Queryable;Count<TSource>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,System.Boolean>>);Argument[1];Argument[1].Parameter[delegate-self];value;manual |
|
||||
| System.Linq;Queryable;CountBy<TSource,TKey>;(System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TKey>>,System.Collections.Generic.IEqualityComparer<TKey>);Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Linq;Queryable;DefaultIfEmpty<TSource>;(System.Linq.IQueryable<TSource>);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Queryable;DefaultIfEmpty<TSource>;(System.Linq.IQueryable<TSource>,TSource);Argument[0].Element;ReturnValue.Element;value;manual |
|
||||
| System.Linq;Queryable;DefaultIfEmpty<TSource>;(System.Linq.IQueryable<TSource>,TSource);Argument[1];ReturnValue.Element;value;manual |
|
||||
@@ -10334,6 +10442,8 @@
|
||||
| System.Net.Http;HttpContent;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);Argument[2];ReturnValue;taint;df-generated |
|
||||
| System.Net.Http;HttpContent;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);Argument[this];Argument[0];taint;df-generated |
|
||||
| System.Net.Http;HttpContent;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Net.Http;HttpIOException;get_Message;();Argument[this].Property[System.Exception.Message];ReturnValue;taint;dfc-generated |
|
||||
| System.Net.Http;HttpIOException;get_Message;();Argument[this].SyntheticField[System.Exception._message];ReturnValue;value;dfc-generated |
|
||||
| System.Net.Http;HttpMessageInvoker;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);Argument[0];Argument[this];taint;df-generated |
|
||||
| System.Net.Http;HttpMessageInvoker;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);Argument[this];Argument[0];taint;df-generated |
|
||||
| System.Net.Http;HttpMessageInvoker;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);Argument[this];Argument[0];taint;df-generated |
|
||||
@@ -10501,6 +10611,7 @@
|
||||
| System.Net.Quic;QuicConnection;get_RemoteCertificate;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Net.Quic;QuicConnection;get_RemoteEndPoint;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Net.Quic;QuicConnection;get_TargetHostName;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Net.Quic;QuicConnectionOptions;set_StreamCapacityCallback;(System.Action<System.Net.Quic.QuicConnection,System.Net.Quic.QuicStreamCapacityChangedArgs>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Net.Quic;QuicListenerOptions;set_ConnectionOptionsCallback;(System.Func<System.Net.Quic.QuicConnection,System.Net.Security.SslClientHelloInfo,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<System.Net.Quic.QuicServerConnectionOptions>>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Net.Security;AuthenticatedStream;AuthenticatedStream;(System.IO.Stream,System.Boolean);Argument[0];Argument[this].SyntheticField[System.Net.Security.AuthenticatedStream._innerStream];value;dfc-generated |
|
||||
| System.Net.Security;AuthenticatedStream;get_InnerStream;();Argument[this].SyntheticField[System.Net.Security.AuthenticatedStream._innerStream];ReturnValue;value;dfc-generated |
|
||||
@@ -11783,6 +11894,9 @@
|
||||
| System.Runtime.InteropServices.Marshalling;ArrayMarshaller<T,TUnmanagedElement>;GetManagedValuesDestination;(T[]);Argument[0].Element;ReturnValue.Element;value;dfc-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;ArrayMarshaller<T,TUnmanagedElement>;GetManagedValuesSource;(T[]);Argument[0].Element;ReturnValue.Element;value;dfc-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;BStrStringMarshaller+ManagedToUnmanagedIn;ToUnmanaged;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;ComVariantMarshaller+RefPropagate;FromManaged;(System.Object);Argument[0];Argument[this];taint;df-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;ComVariantMarshaller+RefPropagate;FromUnmanaged;(System.Runtime.InteropServices.Marshalling.ComVariant);Argument[0];Argument[this].SyntheticField[System.Runtime.InteropServices.Marshalling.ComVariantMarshaller+RefPropagate._unmanaged];value;dfc-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;ComVariantMarshaller+RefPropagate;ToUnmanaged;();Argument[this].SyntheticField[System.Runtime.InteropServices.Marshalling.ComVariantMarshaller+RefPropagate._unmanaged];ReturnValue;value;dfc-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;IIUnknownStrategy;CreateInstancePointer;(System.Void*);Argument[0];ReturnValue;value;dfc-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;PointerArrayMarshaller<T,TUnmanagedElement>+ManagedToUnmanagedIn;FromManaged;(T*[],System.Span<TUnmanagedElement>);Argument[0].Element;Argument[this];taint;df-generated |
|
||||
| System.Runtime.InteropServices.Marshalling;PointerArrayMarshaller<T,TUnmanagedElement>+ManagedToUnmanagedIn;FromManaged;(T*[],System.Span<TUnmanagedElement>);Argument[1];Argument[this];taint;df-generated |
|
||||
@@ -12497,6 +12611,7 @@
|
||||
| System.Text.Json.Nodes;JsonObject;TryGetValue;(System.String,System.Text.Json.Nodes.JsonNode);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Nodes;JsonValue;Create<T>;(T,System.Text.Json.Serialization.Metadata.JsonTypeInfo<T>,System.Nullable<System.Text.Json.Nodes.JsonNodeOptions>);Argument[1];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Nodes;JsonValue;TryGetValue<T>;(T);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Schema;JsonSchemaExporterOptions;set_TransformSchemaNode;(System.Func<System.Text.Json.Schema.JsonSchemaExporterContext,System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;IJsonTypeInfoResolver;GetTypeInfo;(System.Type,System.Text.Json.JsonSerializerOptions);Argument[1];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Serialization.Metadata;IJsonTypeInfoResolver;GetTypeInfo;(System.Type,System.Text.Json.JsonSerializerOptions);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonCollectionInfoValues<TCollection>;set_ObjectCreator;(System.Func<TCollection>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -12528,6 +12643,7 @@
|
||||
| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateStackInfo<TCollection>;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues<TCollection>,System.Action<TCollection,System.Object>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonMetadataServices;CreateValueInfo<T>;(System.Text.Json.JsonSerializerOptions,System.Text.Json.Serialization.JsonConverter);Argument[1];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonMetadataServices;GetNullableConverter<T>;(System.Text.Json.Serialization.Metadata.JsonTypeInfo<T>);Argument[0];ReturnValue;taint;df-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonObjectInfoValues<T>;set_ConstructorAttributeProviderFactory;(System.Func<System.Reflection.ICustomAttributeProvider>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonObjectInfoValues<T>;set_ConstructorParameterMetadataInitializer;(System.Func<System.Text.Json.Serialization.Metadata.JsonParameterInfoValues[]>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonObjectInfoValues<T>;set_ObjectCreator;(System.Func<T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonObjectInfoValues<T>;set_ObjectWithParameterizedConstructorCreator;(System.Func<System.Object[],T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
@@ -12536,6 +12652,7 @@
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfo;set_Get;(System.Func<System.Object,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfo;set_Set;(System.Action<System.Object,System.Object>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfo;set_ShouldSerialize;(System.Func<System.Object,System.Object,System.Boolean>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfoValues<T>;set_AttributeProviderFactory;(System.Func<System.Reflection.ICustomAttributeProvider>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfoValues<T>;set_Getter;(System.Func<System.Object,T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonPropertyInfoValues<T>;set_Setter;(System.Action<System.Object,T>);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Text.Json.Serialization.Metadata;JsonTypeInfo;CreateJsonPropertyInfo;(System.Type,System.String);Argument[1];ReturnValue;taint;df-generated |
|
||||
@@ -12851,8 +12968,15 @@
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);Argument[1];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);Argument[2].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>);Argument[1];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>);Argument[2].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[1];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[2].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[1];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[2].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object);Argument[1];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object);Argument[this];ReturnValue;value;manual |
|
||||
@@ -12868,16 +12992,29 @@
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object[]);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object[]);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.Object[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.ReadOnlySpan<System.Object>);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.ReadOnlySpan<System.Object>);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendFormat;(System.String,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendFormat<TArg0,TArg1,TArg2>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0,TArg1,TArg2);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;AppendFormat<TArg0,TArg1>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0,TArg1);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;AppendFormat<TArg0>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.Object[]);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.Object[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.ReadOnlySpan<System.Object>);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.ReadOnlySpan<System.String>);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.ReadOnlySpan<System.String>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.String[]);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.Char,System.String[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.Object[]);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.Object[]);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.Object[]);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.Object>);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.Object>);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.Object>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.String>);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.String>);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.ReadOnlySpan<System.String>);Argument[this];ReturnValue;value;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.String[]);Argument[0];Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.String[]);Argument[1].Element;Argument[this];taint;manual |
|
||||
| System.Text;StringBuilder;AppendJoin;(System.String,System.String[]);Argument[this];ReturnValue;value;manual |
|
||||
@@ -12919,6 +13056,8 @@
|
||||
| System.Text;StringBuilder;Remove;(System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.Char,System.Char);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.Char,System.Char,System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.String,System.String);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;Replace;(System.String,System.String,System.Int32,System.Int32);Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System.Text;StringBuilder;StringBuilder;(System.String);Argument[0];Argument[this];taint;manual |
|
||||
@@ -13213,12 +13352,14 @@
|
||||
| System.Threading.Tasks;Task;WaitAsync;(System.TimeSpan,System.TimeProvider,System.Threading.CancellationToken);Argument[2];ReturnValue;taint;df-generated |
|
||||
| System.Threading.Tasks;Task;WaitAsync;(System.TimeSpan,System.TimeProvider,System.Threading.CancellationToken);Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Threading.Tasks;Task;WhenAll<TResult>;(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>>);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAll<TResult>;(System.ReadOnlySpan<System.Threading.Tasks.Task<TResult>>);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAll<TResult>;(System.Threading.Tasks.Task<TResult>[]);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAny;(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task>);Argument[0].Element;ReturnValue;taint;df-generated |
|
||||
| System.Threading.Tasks;Task;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);Argument[0];ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;dfc-generated |
|
||||
| System.Threading.Tasks;Task;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);Argument[1];ReturnValue.Property[System.Threading.Tasks.Task`1.Result];value;dfc-generated |
|
||||
| System.Threading.Tasks;Task;WhenAny;(System.Threading.Tasks.Task[]);Argument[0].Element;ReturnValue;taint;df-generated |
|
||||
| System.Threading.Tasks;Task;WhenAny<TResult>;(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>>);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAny<TResult>;(System.ReadOnlySpan<System.Threading.Tasks.Task<TResult>>);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAny<TResult>;(System.Threading.Tasks.Task<TResult>,System.Threading.Tasks.Task<TResult>);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAny<TResult>;(System.Threading.Tasks.Task<TResult>,System.Threading.Tasks.Task<TResult>);Argument[1].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
| System.Threading.Tasks;Task;WhenAny<TResult>;(System.Threading.Tasks.Task<TResult>[]);Argument[0].Element.Property[System.Threading.Tasks.Task`1.Result];ReturnValue.Property[System.Threading.Tasks.Task`1.Result].Element;value;manual |
|
||||
@@ -13866,6 +14007,7 @@
|
||||
| System.Threading;LazyInitializer;EnsureInitialized<T>;(T,System.Object,System.Func<T>);Argument[1];ReturnValue;value;hq-generated |
|
||||
| System.Threading;LazyInitializer;EnsureInitialized<T>;(T,System.Object,System.Func<T>);Argument[2];Argument[2].Parameter[delegate-self];value;dfc-generated |
|
||||
| System.Threading;LazyInitializer;EnsureInitialized<T>;(T,System.Object,System.Func<T>);Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated |
|
||||
| System.Threading;Lock;EnterScope;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Threading;ManualResetEventSlim;get_WaitHandle;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System.Threading;Mutex;TryOpenExisting;(System.String,System.Threading.Mutex);Argument[1];ReturnValue;value;dfc-generated |
|
||||
| System.Threading;Overlapped;Overlapped;(System.Int32,System.Int32,System.IntPtr,System.IAsyncResult);Argument[2];Argument[this];taint;df-generated |
|
||||
@@ -16207,6 +16349,8 @@
|
||||
| System;String;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);Argument[2].Element;ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>);Argument[3].Element;ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.ReadOnlySpan<System.Object>);Argument[0].Element;ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.ReadOnlySpan<System.String>);Argument[0].Element;ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.String,System.String);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.String,System.String);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Concat;(System.String,System.String,System.String);Argument[0];ReturnValue;taint;manual |
|
||||
@@ -16237,8 +16381,12 @@
|
||||
| System;String;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);Argument[4];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.String,System.Object[]);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.String,System.Object[]);Argument[2].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[1].Property[System.Text.CompositeFormat.Format];ReturnValue;value;dfc-generated |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[1].Property[System.Text.CompositeFormat.Format];ReturnValue;value;dfc-generated |
|
||||
| System;String;Format;(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.String,System.ReadOnlySpan<System.Object>);Argument[2].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.Object[]);Argument[2].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.IFormatProvider,System.Text.CompositeFormat,System.ReadOnlySpan<System.Object>);Argument[2].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.Object);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.Object);Argument[1];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.Object,System.Object);Argument[0];ReturnValue;taint;manual |
|
||||
@@ -16250,6 +16398,8 @@
|
||||
| System;String;Format;(System.String,System.Object,System.Object,System.Object);Argument[3];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.Object[]);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.Object[]);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.ReadOnlySpan<System.Object>);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Format;(System.String,System.ReadOnlySpan<System.Object>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Format<TArg0,TArg1,TArg2>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0,TArg1,TArg2);Argument[1].Property[System.Text.CompositeFormat.Format];ReturnValue;value;dfc-generated |
|
||||
| System;String;Format<TArg0,TArg1>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0,TArg1);Argument[1].Property[System.Text.CompositeFormat.Format];ReturnValue;value;dfc-generated |
|
||||
| System;String;Format<TArg0>;(System.IFormatProvider,System.Text.CompositeFormat,TArg0);Argument[1].Property[System.Text.CompositeFormat.Format];ReturnValue;value;dfc-generated |
|
||||
@@ -16259,6 +16409,10 @@
|
||||
| System;String;Insert;(System.Int32,System.String);Argument[this];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.Object[]);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.Object[]);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.ReadOnlySpan<System.Object>);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.ReadOnlySpan<System.Object>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.ReadOnlySpan<System.String>);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.ReadOnlySpan<System.String>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.String[]);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.String[]);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.Char,System.String[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual |
|
||||
@@ -16267,6 +16421,10 @@
|
||||
| System;String;Join;(System.String,System.Collections.Generic.IEnumerable<System.String>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.Object[]);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.Object[]);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.ReadOnlySpan<System.Object>);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.ReadOnlySpan<System.Object>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.ReadOnlySpan<System.String>);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.ReadOnlySpan<System.String>);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.String[]);Argument[0];ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.String[]);Argument[1].Element;ReturnValue;taint;manual |
|
||||
| System;String;Join;(System.String,System.String[],System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual |
|
||||
@@ -16299,6 +16457,7 @@
|
||||
| System;String;Split;(System.Char[],System.Int32);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.Char[],System.Int32,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.Char[],System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.ReadOnlySpan<System.Char>);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.String,System.Int32,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.String,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual |
|
||||
| System;String;Split;(System.String[],System.Int32,System.StringSplitOptions);Argument[this];ReturnValue.Element;taint;manual |
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Dapper/2.1.24/Dapper.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Dapper/2.1.35/Dapper.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack/8.5.2/ServiceStack.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack.OrmLite.SqlServer/8.5.2/ServiceStack.OrmLite.SqlServer.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/EntityFramework/6.5.1/EntityFramework.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Drawing.Common/9.0.1/System.Drawing.Common.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Windows.Extensions/9.0.1/System.Windows.Extensions.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Security.Permissions/9.0.1/System.Security.Permissions.csproj
|
||||
semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
|
||||
semmle-extractor-options: ${testdir}/../../../resources/stubs/EntityFrameworkCore.cs
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
|
||||
|
||||
@@ -270,3 +270,7 @@
|
||||
| ViableCallable.cs:679:17:679:20 | Run3 | ViableCallable.cs:637:21:637:21 | M |
|
||||
| ViableCallable.cs:679:17:679:20 | Run3 | ViableCallable.cs:646:21:646:21 | M |
|
||||
| ViableCallable.cs:679:17:679:20 | Run3 | ViableCallable.cs:648:21:648:21 | M |
|
||||
| ViableCallable.cs:707:17:707:20 | Run1 | ViableCallable.cs:702:42:702:44 | get_Property |
|
||||
| ViableCallable.cs:707:17:707:20 | Run1 | ViableCallable.cs:702:63:702:65 | set_Property |
|
||||
| ViableCallable.cs:707:17:707:20 | Run1 | ViableCallable.cs:704:49:704:51 | get_Item |
|
||||
| ViableCallable.cs:707:17:707:20 | Run1 | ViableCallable.cs:704:70:704:72 | set_Item |
|
||||
|
||||
@@ -379,6 +379,7 @@
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | C8.set_Item(int, string) |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | C9`1.set_Item(int, string) |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | C10.set_Item(int, bool) |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | C23+Partial1.set_Item(int, object) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C2<System.Decimal>.get_Item(decimal) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C2<System.Int32>.get_Item(int) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C2`1.get_Item(T) |
|
||||
@@ -393,6 +394,7 @@
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C8.get_Item(int) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C9`1.get_Item(int) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C10.get_Item(int) |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | C23+Partial1.get_Item(int) |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | C2<System.Boolean>.add_Event(EventHandler<string>) |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | C2<System.Decimal>.add_Event(EventHandler<string>) |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | C2<System.Int32>.add_Event(EventHandler<string>) |
|
||||
@@ -516,3 +518,7 @@
|
||||
| ViableCallable.cs:683:9:683:16 | call to method M | C22+TestOverloadResolution2<System.Int32>.M(Int32[]) |
|
||||
| ViableCallable.cs:687:9:687:16 | call to method M | C22+TestOverloadResolution1<System.Int32>.M(List<int>) |
|
||||
| ViableCallable.cs:687:9:687:16 | call to method M | C22+TestOverloadResolution2<System.Int32>.M(List<int>) |
|
||||
| ViableCallable.cs:712:9:712:18 | access to property Property | C23+Partial1.set_Property(object) |
|
||||
| ViableCallable.cs:715:13:715:22 | access to property Property | C23+Partial1.get_Property() |
|
||||
| ViableCallable.cs:718:9:718:12 | access to indexer | C23+Partial1.set_Item(int, object) |
|
||||
| ViableCallable.cs:721:13:721:16 | access to indexer | C23+Partial1.get_Item(int) |
|
||||
|
||||
@@ -687,3 +687,37 @@ public class C22
|
||||
tor.M(l);
|
||||
}
|
||||
}
|
||||
|
||||
public class C23
|
||||
{
|
||||
public partial class Partial1
|
||||
{
|
||||
public partial object Property { get; set; }
|
||||
|
||||
public partial object this[int index] { get; set; }
|
||||
}
|
||||
|
||||
public partial class Partial1
|
||||
{
|
||||
public partial object Property { get { return null; } set { } }
|
||||
|
||||
public partial object this[int index] { get { return null; } set { } }
|
||||
}
|
||||
|
||||
public void Run1(Partial1 p)
|
||||
{
|
||||
object o;
|
||||
|
||||
// Viable callable: Partial1.set_Property
|
||||
p.Property = new object();
|
||||
|
||||
// Viable callable: Partial1.get_Property
|
||||
o = p.Property;
|
||||
|
||||
// Viable callable: Partial1.set_Item(int, object)
|
||||
p[0] = new object();
|
||||
|
||||
// Viable callable: Partial1.get_Item(int)
|
||||
o = p[0];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,6 +199,7 @@
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | set_Item | C8 |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | set_Item | C9`1 |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | set_Item | C10 |
|
||||
| ViableCallable.cs:165:9:165:14 | dynamic access to element | set_Item | Partial1 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C2`1 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C3 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C6`2 |
|
||||
@@ -206,6 +207,7 @@
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C8 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C9`1 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | C10 |
|
||||
| ViableCallable.cs:165:18:165:23 | dynamic access to element | get_Item | Partial1 |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | add_Event | C2`1 |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | add_Event | C3 |
|
||||
| ViableCallable.cs:167:9:167:54 | ... += ... | add_Event | C5 |
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Amazon.Lambda.Core/2.2.0/Amazon.Lambda.Core.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.0/Amazon.Lambda.APIGatewayEvents.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Amazon.Lambda.Core/2.5.0/Amazon.Lambda.Core.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Amazon.Lambda.APIGatewayEvents/2.7.1/Amazon.Lambda.APIGatewayEvents.csproj
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/EntityFramework/6.5.1/EntityFramework.csproj
|
||||
semmle-extractor-options: ${testdir}/../../../resources/stubs/EntityFrameworkCore.cs
|
||||
|
||||
@@ -1 +1 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig --load-sources-from-project:../../../resources/stubs/NHibernate/5.4.7/NHibernate.csproj
|
||||
semmle-extractor-options: /nostdlib /noconfig --load-sources-from-project:../../../resources/stubs/NHibernate/5.5.2/NHibernate.csproj
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/ServiceStack/8.0.0/ServiceStack.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/ServiceStack.OrmLite.SqlServer/8.0.0/ServiceStack.OrmLite.SqlServer.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/ServiceStack/8.5.2/ServiceStack.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/ServiceStack.OrmLite.SqlServer/8.5.2/ServiceStack.OrmLite.SqlServer.csproj
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
semmle-extractor-options: /nostdlib /noconfig
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/EntityFramework/6.4.4/EntityFramework.csproj
|
||||
semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/EntityFramework/6.5.1/EntityFramework.csproj
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
| Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | true |
|
||||
| Partial.cs:5:17:5:23 | Method2 | false |
|
||||
| Partial.cs:10:18:10:39 | PartialMethodWithBody1 | true |
|
||||
| Partial.cs:11:17:11:23 | Method3 | false |
|
||||
| Partial.cs:16:18:16:42 | PartialMethodWithoutBody2 | true |
|
||||
| Partial.cs:17:17:17:23 | Method4 | false |
|
||||
| Partial.cs:22:17:22:23 | Method5 | false |
|
||||
| Partial.cs:14:18:14:39 | PartialMethodWithBody1 | true |
|
||||
| Partial.cs:15:17:15:23 | Method3 | false |
|
||||
| Partial.cs:34:18:34:42 | PartialMethodWithoutBody2 | true |
|
||||
| Partial.cs:35:17:35:23 | Method4 | false |
|
||||
| Partial.cs:40:17:40:23 | Method5 | false |
|
||||
|
||||
@@ -3,12 +3,30 @@ partial class TwoPartClass
|
||||
partial void PartialMethodWithBody1();
|
||||
partial void PartialMethodWithoutBody1();
|
||||
public void Method2() { }
|
||||
// Declaring declaration.
|
||||
public partial object PartialProperty1 { get; set; }
|
||||
// Declaring declaration.
|
||||
public partial object this[int index] { get; set; }
|
||||
}
|
||||
|
||||
partial class TwoPartClass
|
||||
{
|
||||
partial void PartialMethodWithBody1() { }
|
||||
public void Method3() { }
|
||||
private object _backingField;
|
||||
// Implementation declaration.
|
||||
public partial object PartialProperty1
|
||||
{
|
||||
get { return _backingField; }
|
||||
set { _backingField = value; }
|
||||
}
|
||||
private object[] _backingArray;
|
||||
// Implmentation declaration.
|
||||
public partial object this[int index]
|
||||
{
|
||||
get { return _backingArray[index]; }
|
||||
set { _backingArray[index] = value; }
|
||||
}
|
||||
}
|
||||
|
||||
partial class OnePartPartialClass
|
||||
@@ -20,4 +38,10 @@ partial class OnePartPartialClass
|
||||
class NonPartialClass
|
||||
{
|
||||
public void Method5() { }
|
||||
}
|
||||
public object Property { get; set; }
|
||||
public object this[int index]
|
||||
{
|
||||
get { return null; }
|
||||
set { }
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user