mirror of
https://github.com/github/codeql.git
synced 2026-05-05 21:55:19 +02:00
JS: Move ".."-parsing trick into AccessPathSyntax.qll
This commit is contained in:
@@ -71,3 +71,14 @@ isSink
|
||||
| test.js:78:34:78:34 | 3 | test-sink |
|
||||
| test.js:81:28:81:35 | source() | test-sink |
|
||||
| test.js:82:28:82:28 | 1 | test-sink |
|
||||
syntaxErrors
|
||||
| Member[foo |
|
||||
| Member[foo] .Member[bar] |
|
||||
| Member[foo] Member[bar] |
|
||||
| Member[foo], Member[bar] |
|
||||
| Member[foo],Member[bar] |
|
||||
| Member[foo]. Member[bar] |
|
||||
| Member[foo]..Member[bar] |
|
||||
| Member[foo]Member[bar] |
|
||||
| Member[foo]] |
|
||||
| Member[foo]].Member[bar] |
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import javascript
|
||||
import testUtilities.ConsistencyChecking
|
||||
import semmle.javascript.frameworks.data.internal.AccessPathSyntax as AccessPathSyntax
|
||||
|
||||
class Steps extends ModelInput::SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
@@ -54,3 +55,24 @@ query predicate taintFlow(DataFlow::Node source, DataFlow::Node sink) {
|
||||
query predicate isSink(DataFlow::Node node, string kind) {
|
||||
node = ModelOutput::getASinkNode(kind).getARhs()
|
||||
}
|
||||
|
||||
class SyntaxErrorTest extends ModelInput::SinkModelCsv {
|
||||
override predicate row(string row) {
|
||||
row = [
|
||||
"testlib;;Member[foo],Member[bar];test-sink",
|
||||
"testlib;;Member[foo] Member[bar];test-sink",
|
||||
"testlib;;Member[foo]. Member[bar];test-sink",
|
||||
"testlib;;Member[foo], Member[bar];test-sink",
|
||||
"testlib;;Member[foo]..Member[bar];test-sink",
|
||||
"testlib;;Member[foo] .Member[bar];test-sink",
|
||||
"testlib;;Member[foo]Member[bar];test-sink",
|
||||
"testlib;;Member[foo;test-sink",
|
||||
"testlib;;Member[foo]];test-sink",
|
||||
"testlib;;Member[foo]].Member[bar];test-sink"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
query predicate syntaxErrors(AccessPathSyntax::AccessPath path) {
|
||||
path.hasSyntaxError()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user