We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 66f48f7 commit 349268cCopy full SHA for 349268c
csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll
@@ -1003,7 +1003,15 @@ private class CallableUsedInSource extends Callable {
1003
CallableUsedInSource() {
1004
this.fromSource()
1005
or
1006
- this.getACall().fromSource()
+ // Note that getARuntimeTarget cannot be used here, because the
1007
+ // DelegateLikeCall case depends on lambda-flow, which in turn
1008
+ // uses the dataflow library; hence this would introduce recursion
1009
+ // into the definition of data-flow nodes.
1010
+ exists(Call c, DispatchCall dc | c.fromSource() and c = dc.getCall() |
1011
+ this = dc.getADynamicTarget()
1012
+ )
1013
+ or
1014
+ this = any(CallableAccess ca | ca.fromSource()).getTarget()
1015
}
1016
1017
0 commit comments