mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
JS: ClosureLibrary
This commit is contained in:
@@ -7,12 +7,12 @@ import javascript
|
||||
module ClosureLibrary {
|
||||
private import DataFlow
|
||||
|
||||
private class StringStep extends TaintTracking::AdditionalTaintStep, CallNode {
|
||||
Node pred;
|
||||
|
||||
StringStep() {
|
||||
exists(string name | this = Closure::moduleImport("goog.string." + name).getACall() |
|
||||
pred = getAnArgument() and
|
||||
private class StringStep extends TaintTracking::SharedTaintStep {
|
||||
override predicate step(Node pred, Node succ) {
|
||||
exists(string name, CallNode call |
|
||||
call = Closure::moduleImport("goog.string." + name).getACall() and succ = call
|
||||
|
|
||||
pred = call.getAnArgument() and
|
||||
(
|
||||
name = "canonicalizeNewlines" or
|
||||
name = "capitalize" or
|
||||
@@ -39,7 +39,7 @@ module ClosureLibrary {
|
||||
name = "whitespaceEscape"
|
||||
)
|
||||
or
|
||||
pred = getArgument(0) and
|
||||
pred = call.getArgument(0) and
|
||||
(
|
||||
name = "truncate" or
|
||||
name = "truncateMiddle" or
|
||||
@@ -47,10 +47,5 @@ module ClosureLibrary {
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
override predicate step(Node src, Node dst) {
|
||||
src = pred and
|
||||
dst = this
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user