File tree Expand file tree Collapse file tree
cpp/ql/src/semmle/code/cpp/ir/dataflow Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import cpp
22import semmle.code.cpp.security.Security
33private import semmle.code.cpp.ir.dataflow.DataFlow
44private import semmle.code.cpp.ir.IR
5+ private import semmle.code.cpp.ir.dataflow.internal.DataFlowDispatch as Dispatch
56
67/**
78 * A predictable instruction is one where an external user can predict
@@ -145,7 +146,8 @@ GlobalOrNamespaceVariable globalVarFromId(string id) {
145146}
146147
147148Function resolveCall ( Call call ) {
148- // TODO: improve virtual dispatch. This will help in the test for
149- // `UncontrolledProcessOperation.ql`.
150- result = call .getTarget ( )
149+ exists ( CallInstruction callInstruction |
150+ callInstruction .getAST ( ) = call and
151+ result = Dispatch:: viableCallable ( callInstruction )
152+ )
151153}
You can’t perform that action at this time.
0 commit comments