Files
codeql/docs/language/ql-training/query-examples/cpp/snprintf-1.ql
2019-09-05 08:40:36 +01:00

11 lines
364 B
Plaintext

import cpp
import semmle.code.cpp.dataflow.TaintTracking
from FunctionCall call, DataFlow::Node source, DataFlow::Node sink
where
call.getTarget().getName() = "snprintf" and
call.getArgument(2).getValue().regexpMatch("(?s).*%s.*") and
TaintTracking::localTaint(source, sink) and
source.asExpr() = call and
sink.asExpr() = call.getArgument(1)
select call