Skip to content

Commit 3643b93

Browse files
committed
fixup! PS: Define pre-return node and implicit-wrapping nodes using the script block instead of the individual elements.
1 parent 5d5448d commit 3643b93

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

powershell/ql/lib/semmle/code/powershell/dataflow/internal/DataFlowPrivate.qll

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,13 @@ module LocalFlow {
110110
or
111111
nodeFrom.asExpr() = nodeTo.asExpr().(CfgNodes::ExprNodes::ParenExprCfgNode).getSubExpr()
112112
or
113-
exists(
114-
CfgNodes::ExprNodes::ArrayExprCfgNode arrayExpr, EscapeContainer::EscapeContainer container
115-
|
116-
nodeTo.asExpr() = arrayExpr and
117-
container = arrayExpr.getStmtBlock().getAstNode() and
118-
nodeFrom.(AstNode).getCfgNode() = container.getAnEscapingElement() and
119-
not container.mayBeMultiReturned(_)
120-
)
113+
nodeFrom.asExpr() = nodeTo.asExpr().(CfgNodes::ExprNodes::ArrayExprCfgNode)
121114
or
122-
nodeFrom.(AstNode).getCfgNode() = nodeTo.(PreReturNodeImpl).getReturnedNode()
115+
exists(CfgNodes::ExprCfgNode e |
116+
e = nodeFrom.(AstNode).getCfgNode() and
117+
isReturned(e) and
118+
e.getScope() = nodeTo.(PreReturNodeImpl).getCfgScope()
119+
)
123120
or
124121
exists(CfgNode cfgNode |
125122
nodeFrom = TPreReturnNodeImpl(cfgNode, true) and

0 commit comments

Comments
 (0)