File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed
shared/dataflow/codeql/dataflow/internal Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -565,8 +565,7 @@ module Make<
565
565
isLocalSummaryComponent ( s .head ( ) )
566
566
}
567
567
568
- /** Like `isSupportedInputStack` but for output stacks. */
569
- private predicate isSupportedOutputStack ( SummaryComponentStack s ) {
568
+ private predicate isSupportedOutputStack1 ( SummaryComponentStack s ) {
570
569
// ReturnValue.*
571
570
s .length ( ) = 1 and
572
571
s .head ( ) instanceof TReturnSummaryComponent
@@ -581,10 +580,19 @@ module Make<
581
580
s .head ( ) instanceof TParameterSummaryComponent and
582
581
s .tail ( ) .head ( ) instanceof TArgumentSummaryComponent
583
582
or
584
- isSupportedOutputStack ( s .tail ( ) ) and
583
+ isSupportedOutputStack1 ( s .tail ( ) ) and
585
584
isLocalSummaryComponent ( s .head ( ) )
586
585
}
587
586
587
+ /** Like `isSupportedInputStack` but for output stacks. */
588
+ private predicate isSupportedOutputStack ( SummaryComponentStack s ) {
589
+ isSupportedOutputStack1 ( s )
590
+ or
591
+ // `Argument[n]` not followed by anything. Needs to be outside the recursion.
592
+ s .length ( ) = 1 and
593
+ s .head ( ) instanceof TArgumentSummaryComponent
594
+ }
595
+
588
596
/**
589
597
* Holds if `callable` has an unsupported flow `input -> output`.
590
598
*
You can’t perform that action at this time.
0 commit comments