diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 455a5b5bc131..b9840504615f 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2154,8 +2154,7 @@ module MakeImpl Lang> { pragma[nomagic] private predicate storeStepFwd(NodeEx node1, Ap ap1, Content c, NodeEx node2, Ap ap2) { fwdFlowStore(node1, _, ap1, _, c, _, _, node2, _, _, _) and - ap2 = apCons(c, ap1) and - readStepFwd(_, ap2, c, _, _) + readStepFwd(_, ap2, c, _, ap1) } pragma[nomagic] @@ -4393,6 +4392,7 @@ module MakeImpl Lang> { Typ getTyp(DataFlowType t) { result = t } bindingset[c, tail] + pragma[inline_late] Ap apCons(Content c, Ap tail) { result.isCons(c, tail) } class ApHeadContent = Content; @@ -4462,6 +4462,7 @@ module MakeImpl Lang> { abstract Content getHead(); /** Holds if this is a representation of `head` followed by `tail`. */ + pragma[nomagic] abstract predicate isCons(Content head, AccessPath tail); /** Gets the front of this access path. */