Skip to content

Commit 501cbda

Browse files
committed
Dataflow: Remove another ApApprox join and related columns.
1 parent 22e0636 commit 501cbda

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,9 +1717,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
17171717
pragma[nomagic]
17181718
private predicate fwdFlowIntoArg(
17191719
ArgNodeEx arg, FlowState state, Cc outercc, SummaryCtx summaryCtx, Typ t, Ap ap,
1720-
boolean emptyAp, ApApprox apa, TypOption stored, boolean cc
1720+
boolean emptyAp, TypOption stored, boolean cc
17211721
) {
1722-
fwdFlow(arg, state, outercc, summaryCtx, t, ap, apa, stored) and
1722+
fwdFlow(arg, state, outercc, summaryCtx, t, ap, _, stored) and
17231723
(if instanceofCcCall(outercc) then cc = true else cc = false) and
17241724
if ap instanceof ApNil then emptyAp = true else emptyAp = false
17251725
}
@@ -1809,10 +1809,10 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
18091809
pragma[inline]
18101810
private predicate fwdFlowInCand(
18111811
DataFlowCall call, ArgNodeEx arg, FlowState state, Cc outercc, DataFlowCallable inner,
1812-
ParamNodeEx p, SummaryCtx summaryCtx, Typ t, Ap ap, boolean emptyAp, ApApprox apa,
1813-
TypOption stored, boolean cc
1812+
ParamNodeEx p, SummaryCtx summaryCtx, Typ t, Ap ap, boolean emptyAp, TypOption stored,
1813+
boolean cc
18141814
) {
1815-
fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, apa, stored, cc) and
1815+
fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, stored, cc) and
18161816
(
18171817
inner = viableImplCallContextReducedInlineLate(call, arg, outercc)
18181818
or
@@ -1829,16 +1829,16 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
18291829
ParamNodeEx p, SummaryCtx summaryCtx, Typ t, Ap ap, TypOption stored, boolean cc
18301830
) {
18311831
not enableTypeFlow() and
1832-
fwdFlowInCand(call, arg, state, outercc, inner, p, summaryCtx, t, ap, _, _, stored, cc)
1832+
fwdFlowInCand(call, arg, state, outercc, inner, p, summaryCtx, t, ap, _, stored, cc)
18331833
}
18341834

18351835
pragma[nomagic]
18361836
private predicate fwdFlowInCandTypeFlowEnabled(
18371837
DataFlowCall call, ArgNodeEx arg, Cc outercc, DataFlowCallable inner, ParamNodeEx p,
1838-
boolean emptyAp, ApApprox apa, boolean cc
1838+
boolean emptyAp, boolean cc
18391839
) {
18401840
enableTypeFlow() and
1841-
fwdFlowInCand(call, arg, _, outercc, inner, p, _, _, _, emptyAp, apa, _, cc)
1841+
fwdFlowInCand(call, arg, _, outercc, inner, p, _, _, _, emptyAp, _, cc)
18421842
}
18431843

18441844
pragma[nomagic]
@@ -1853,9 +1853,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
18531853
pragma[nomagic]
18541854
private predicate fwdFlowInValidEdgeTypeFlowEnabled(
18551855
DataFlowCall call, ArgNodeEx arg, Cc outercc, DataFlowCallable inner, ParamNodeEx p,
1856-
CcCall innercc, boolean emptyAp, ApApprox apa, boolean cc
1856+
CcCall innercc, boolean emptyAp, boolean cc
18571857
) {
1858-
fwdFlowInCandTypeFlowEnabled(call, arg, outercc, inner, p, emptyAp, apa, cc) and
1858+
fwdFlowInCandTypeFlowEnabled(call, arg, outercc, inner, p, emptyAp, cc) and
18591859
FwdTypeFlow::typeFlowValidEdgeIn(call, inner, cc) and
18601860
innercc = getCallContextCall(call, inner)
18611861
}
@@ -1872,10 +1872,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
18721872
fwdFlowInValidEdgeTypeFlowDisabled(call, inner, innercc, pragma[only_bind_into](cc))
18731873
or
18741874
// type flow enabled: non-linear recursion
1875-
exists(boolean emptyAp, ApApprox apa |
1876-
fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, apa, stored, cc) and
1877-
fwdFlowInValidEdgeTypeFlowEnabled(call, arg, outercc, inner, p, innercc, emptyAp, apa,
1878-
cc)
1875+
exists(boolean emptyAp |
1876+
fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, stored, cc) and
1877+
fwdFlowInValidEdgeTypeFlowEnabled(call, arg, outercc, inner, p, innercc, emptyAp, cc)
18791878
)
18801879
}
18811880
}

0 commit comments

Comments
 (0)