Skip to content

Commit bc6c474

Browse files
committed
Data flow: Follow-up changes to FlowExploration module
1 parent 307ac7f commit bc6c474

1 file changed

Lines changed: 4 additions & 15 deletions

File tree

csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2610,14 +2610,7 @@ private module FlowExploration {
26102610

26112611
private newtype TSummaryCtx2 =
26122612
TSummaryCtx2None() or
2613-
TSummaryCtx2Nil() or
2614-
TSummaryCtx2ConsNil(Content f)
2615-
2616-
private TSummaryCtx2 getSummaryCtx2(PartialAccessPath ap) {
2617-
result = TSummaryCtx2Nil() and ap instanceof PartialAccessPathNil
2618-
or
2619-
exists(Content f | result = TSummaryCtx2ConsNil(f) and ap = TPartialCons(f, 1))
2620-
}
2613+
TSummaryCtx2Some(PartialAccessPath ap)
26212614

26222615
private newtype TPartialPathNode =
26232616
TPartialPathNodeMk(
@@ -2904,11 +2897,8 @@ private module FlowExploration {
29042897
exists(int i, DataFlowCallable callable |
29052898
partialPathIntoCallable0(mid, callable, i, outercc, call, ap, config) and
29062899
p.isParameterOf(callable, i) and
2907-
(
2908-
sc1 = TSummaryCtx1Param(p) and sc2 = getSummaryCtx2(ap)
2909-
or
2910-
sc1 = TSummaryCtx1None() and sc2 = TSummaryCtx2None() and not exists(getSummaryCtx2(ap))
2911-
)
2900+
sc1 = TSummaryCtx1Param(p) and
2901+
sc2 = TSummaryCtx2Some(ap)
29122902
|
29132903
if recordDataFlowCallSite(call, callable)
29142904
then innercc = TSpecificCall(call)
@@ -2928,8 +2918,7 @@ private module FlowExploration {
29282918
sc1 = mid.getSummaryCtx1() and
29292919
sc2 = mid.getSummaryCtx2() and
29302920
config = mid.getConfiguration() and
2931-
ap = mid.getAp() and
2932-
ap.len() in [0 .. 1]
2921+
ap = mid.getAp()
29332922
)
29342923
}
29352924

0 commit comments

Comments
 (0)