Skip to content

Commit b9bb2ec

Browse files
authored
Merge pull request #2864 from jbj/DefaultTaintTracking-cached
C++: Cache DefaultTaintTracking
2 parents 160fc48 + ae68878 commit b9bb2ec

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

cpp/ql/src/semmle/code/cpp/ir/dataflow/DefaultTaintTracking.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,13 +343,15 @@ private Element adjustedSink(DataFlow::Node sink) {
343343
result.(AssignOperation).getAnOperand() = sink.asExpr()
344344
}
345345

346+
cached
346347
predicate tainted(Expr source, Element tainted) {
347348
exists(DefaultTaintTrackingCfg cfg, DataFlow::Node sink |
348349
cfg.hasFlow(getNodeForSource(source), sink) and
349350
tainted = adjustedSink(sink)
350351
)
351352
}
352353

354+
cached
353355
predicate taintedIncludingGlobalVars(Expr source, Element tainted, string globalVar) {
354356
tainted(source, tainted) and
355357
globalVar = ""

0 commit comments

Comments
 (0)