@@ -1160,18 +1160,18 @@ private predicate reachableFromInput(
1160
1160
}
1161
1161
1162
1162
/**
1163
- * Holds if there is a level step from `mid ` to `nd ` under `cfg` that can be appended
1164
- * to a path represented by `oldSummary` yielding a path represented by `summary `.
1163
+ * Holds if there is a level step from `pred ` to `succ ` under `cfg` that can be appended
1164
+ * to a path represented by `oldSummary` yielding a path represented by `newSummary `.
1165
1165
*/
1166
- pragma [ noopt ]
1166
+ pragma [ noinline ]
1167
1167
private predicate appendStep (
1168
- DataFlow:: Node mid , DataFlow:: Configuration cfg , PathSummary oldSummary , DataFlow:: Node nd ,
1169
- PathSummary summary
1168
+ DataFlow:: Node pred , DataFlow:: Configuration cfg , PathSummary oldSummary , DataFlow:: Node succ ,
1169
+ PathSummary newSummary
1170
1170
) {
1171
1171
exists ( PathSummary stepSummary |
1172
- flowStep ( mid , cfg , nd , stepSummary ) and
1172
+ flowStep ( pred , cfg , succ , stepSummary ) and
1173
1173
stepSummary .isLevel ( ) and
1174
- summary = oldSummary .append ( stepSummary )
1174
+ newSummary = oldSummary .append ( stepSummary )
1175
1175
)
1176
1176
}
1177
1177
@@ -1317,13 +1317,6 @@ private predicate reachesReturn(
1317
1317
summary = PathSummary:: level ( ) and
1318
1318
callInputStep ( f , _, _, _, _) // check that a relevant result can exist.
1319
1319
or
1320
- reachesReturnRec ( f , read , cfg , summary )
1321
- }
1322
-
1323
- pragma [ noopt]
1324
- private predicate reachesReturnRec (
1325
- Function f , DataFlow:: Node read , DataFlow:: Configuration cfg , PathSummary summary
1326
- ) {
1327
1320
exists ( DataFlow:: Node mid , PathSummary oldSummary , PathSummary newSummary |
1328
1321
flowStep ( read , cfg , mid , oldSummary ) and
1329
1322
reachesReturn ( f , mid , cfg , newSummary ) and
@@ -1614,7 +1607,6 @@ private predicate flowIntoHigherOrderCall(
1614
1607
* Holds if there is a flow step from `pred` to `succ` described by `summary`
1615
1608
* under configuration `cfg`.
1616
1609
*/
1617
- pragma [ noinline]
1618
1610
private predicate flowStep (
1619
1611
DataFlow:: Node pred , DataFlow:: Configuration cfg , DataFlow:: Node succ , PathSummary summary
1620
1612
) {
0 commit comments