Skip to content

Commit 09ef8f6

Browse files
committed
C++: Improve performance by restricting isSource
1 parent 83cc098 commit 09ef8f6

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ class TaintToConcatenationConfiguration extends TaintTracking::Configuration {
8484
class ExecTaintConfiguration extends TaintTracking2::Configuration {
8585
ExecTaintConfiguration() { this = "ExecTaintConfiguration" }
8686

87-
override predicate isSource(DataFlow::Node source) { interestingConcatenation(_, source) }
87+
override predicate isSource(DataFlow::Node source) {
88+
exists(DataFlow::Node prevSink, TaintToConcatenationConfiguration conf |
89+
conf.hasFlow(_, prevSink) and
90+
interestingConcatenation(prevSink, source)
91+
)
92+
}
8893

8994
override predicate isSink(DataFlow::Node sink) {
9095
shellCommand(sinkAsArgumentIndirection(sink), _)

0 commit comments

Comments
 (0)