mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
17 lines
695 B
Plaintext
17 lines
695 B
Plaintext
import python
|
|
// Need to import since frameworks can extend the abstract `RegExpInterpretation::Range`
|
|
private import semmle.python.Frameworks
|
|
private import regexp.internal.RegExpTracking as RegExpTracking
|
|
private import semmle.python.Concepts as Concepts
|
|
private import semmle.python.regexp.RegexTreeView
|
|
private import semmle.python.dataflow.new.DataFlow
|
|
import regexp.internal.ParseRegExp
|
|
|
|
/** Gets a parsed regular expression term that is executed at `exec`. */
|
|
RegExpTerm getTermForExecution(Concepts::RegexExecution exec) {
|
|
exists(DataFlow::Node source | source = RegExpTracking::regExpSource(exec.getRegex()) |
|
|
result.getRegex() = source.asExpr() and
|
|
result.isRootTerm()
|
|
)
|
|
}
|