mirror of
https://github.com/github/codeql.git
synced 2026-04-30 19:26:02 +02:00
Dataflow: Fix missing subpaths due to type strengthening.
This commit is contained in:
@@ -4878,12 +4878,13 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
|
||||
PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out
|
||||
) {
|
||||
exists(
|
||||
ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t, AccessPath apout,
|
||||
PathNodeMid out0
|
||||
ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t0, DataFlowType t,
|
||||
AccessPath apout, PathNodeMid out0
|
||||
|
|
||||
pragma[only_bind_into](arg).getASuccessorImpl(_) = pragma[only_bind_into](out0) and
|
||||
subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t, apout) and
|
||||
subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t0, apout) and
|
||||
hasSuccessor(pragma[only_bind_into](arg), par, p) and
|
||||
strengthenType(o, t0, t) and
|
||||
pathNode(out0, o, sout, _, _, t, apout, _, _)
|
||||
|
|
||||
out = out0 or out = out0.projectToSink(_)
|
||||
|
||||
Reference in New Issue
Block a user