File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
ruby/ql/lib/codeql/ruby/typetracking Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -611,8 +611,13 @@ private DataFlow::Node evaluateSummaryComponentStackLocal(
611
611
[ p .( DataFlow:: Node ) , DataFlowPrivate:: LocalFlow:: getParameterDefNode ( p .getParameter ( ) ) ]
612
612
)
613
613
or
614
- head = SummaryComponent:: return ( ) and
615
- result .( DataFlowPrivate:: SynthReturnNode ) .getCfgScope ( ) = prev .asExpr ( ) .getExpr ( )
614
+ exists ( DataFlowPrivate:: SynthReturnNode ret |
615
+ head = SummaryComponent:: return ( ) and
616
+ ret .getCfgScope ( ) = prev .asExpr ( ) .getExpr ( ) and
617
+ // We need to include both `ret` and `ret.getAnInput()`, since in type-tracking
618
+ // the step from `ret.getAnInput()` to `ret` is considered a return step.
619
+ result = [ ret .( DataFlow:: Node ) , ret .getAnInput ( ) ]
620
+ )
616
621
or
617
622
exists ( DataFlow:: ContentSet content |
618
623
head = SummaryComponent:: withoutContent ( content ) and
You can’t perform that action at this time.
0 commit comments