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) {
226
226
227
227
predicate sinkModelSanitizer ( DataFlow:: Node node ) { none ( ) }
228
228
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
+
229
238
/**
230
239
* Holds if `source` is an api entrypoint relevant for creating sink models.
231
240
*/
232
241
predicate apiSource ( DataFlow:: Node source ) {
233
242
( 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
+ )
236
247
}
237
248
238
249
/**
You can’t perform that action at this time.
0 commit comments