File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed
csharp/ql/src/utils/modelgenerator/internal Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -226,13 +226,24 @@ private predicate isRelevantMemberAccess(DataFlow::Node node) {
226226
227227predicate sinkModelSanitizer ( DataFlow:: Node node ) { none ( ) }
228228
229+ private class ManualNeutralSinkCallable extends Callable {
230+ ManualNeutralSinkCallable ( ) {
231+ this =
232+ any ( FlowSummaryImpl:: Public:: NeutralCallable nc |
233+ nc .hasManualModel ( ) and nc .getKind ( ) = "sink"
234+ )
235+ }
236+ }
237+
229238/**
230239 * Holds if `source` is an api entrypoint relevant for creating sink models.
231240 */
232241predicate apiSource ( DataFlow:: Node source ) {
233242 ( isRelevantMemberAccess ( source ) or source instanceof DataFlow:: ParameterNode ) and
234- relevant ( source .getEnclosingCallable ( ) ) and
235- not hasManualModel ( source .getEnclosingCallable ( ) )
243+ exists ( Callable enclosing | enclosing = source .getEnclosingCallable ( ) |
244+ relevant ( enclosing ) and
245+ not enclosing instanceof ManualNeutralSinkCallable
246+ )
236247}
237248
238249/**
You can’t perform that action at this time.
0 commit comments