Skip to content

Commit 25297cb

Browse files
committed
Ruby: Switch from ssaDefAssigns/ssaDefInitializesParam to WriteDefSourceNode.
1 parent 8aedd63 commit 25297cb

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,12 @@ module SsaFlow {
108108
or
109109
result.(Impl::ExprPostUpdateNode).getExpr() = n.(PostUpdateNode).getPreUpdateNode().asExpr()
110110
or
111-
n = toParameterNode(result.(Impl::ParameterNode).getParameter())
111+
exists(SsaImpl::ParameterExt p |
112+
n = toParameterNode(p) and
113+
p.isInitializedBy(result.(Impl::WriteDefSourceNode).getDefinition())
114+
)
115+
or
116+
result.(Impl::WriteDefSourceNode).getDefinition().(Ssa::WriteDefinition).assigns(n.asExpr())
112117
}
113118

114119
predicate localFlowStep(

ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -481,11 +481,9 @@ private module DataFlowIntegrationInput implements Impl::DataFlowIntegrationInpu
481481

482482
Expr getARead(Definition def) { result = Cached::getARead(def) }
483483

484-
predicate ssaDefAssigns(WriteDefinition def, Expr value) {
485-
def.(Ssa::WriteDefinition).assigns(value)
486-
}
484+
predicate ssaDefAssigns(WriteDefinition def, Expr value) { none() }
487485

488-
predicate ssaDefInitializesParam(WriteDefinition def, Parameter p) { p.isInitializedBy(def) }
486+
predicate ssaDefInitializesParam(WriteDefinition def, Parameter p) { none() }
489487

490488
class Guard extends Cfg::CfgNodes::AstCfgNode {
491489
/**

0 commit comments

Comments
 (0)