Skip to content

Commit e5f2b83

Browse files
authored
Merge pull request #8577 from asgerf/fix-mad-warning
JS/Ruby: Fix regexp in MaD checking
2 parents f22df76 + d5bcd14 commit e5f2b83

File tree

3 files changed

+4
-8
lines changed

3 files changed

+4
-8
lines changed

javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,10 @@ predicate isValidNoArgumentTokenInIdentifyingAccessPath(string name) {
413413
bindingset[name, argument]
414414
predicate isValidTokenArgumentInIdentifyingAccessPath(string name, string argument) {
415415
name = ["Argument", "Parameter"] and
416-
argument.regexpMatch("(N-|-)?\\d+(\\.\\.(N-|-)?\\d+)?")
416+
argument.regexpMatch("(N-|-)?\\d+(\\.\\.((N-|-)?\\d+)?)?")
417417
or
418418
name = "WithArity" and
419-
argument.regexpMatch("\\d+(\\.\\.\\d+)?")
419+
argument.regexpMatch("\\d+(\\.\\.(\\d+)?)?")
420420
or
421421
Specific::isExtraValidTokenArgumentInIdentifyingAccessPath(name, argument)
422422
}

javascript/ql/test/library-tests/frameworks/data/warnings.expected

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
| CSV type row should have 5 columns but has 2: test;TooFewColumns |
22
| CSV type row should have 5 columns but has 8: test;TooManyColumns;;;Member[Foo].Instance;too;many;columns |
33
| Invalid argument '0-1' in token 'Argument[0-1]' in access path: Method[foo].Argument[0-1] |
4-
| Invalid argument '0..' in token 'Argument[0..]' in access path: Argument[0..].Member[password] |
5-
| Invalid argument '0..' in token 'Argument[0..]' in access path: Argument[0..].Member[username] |
6-
| Invalid argument '0..' in token 'Argument[0..]' in access path: Member[executeSql].Argument[0..].Parameter[1] |
7-
| Invalid argument '0..' in token 'Argument[0..]' in access path: Member[run].Argument[0..].Parameter[1] |
84
| Invalid argument '*' in token 'Argument[*]' in access path: Method[foo].Argument[*] |
95
| Invalid token 'Argument' is missing its arguments, in access path: Method[foo].Argument |
106
| Invalid token 'Member' is missing its arguments, in access path: Method[foo].Member |

ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,10 @@ predicate isValidNoArgumentTokenInIdentifyingAccessPath(string name) {
413413
bindingset[name, argument]
414414
predicate isValidTokenArgumentInIdentifyingAccessPath(string name, string argument) {
415415
name = ["Argument", "Parameter"] and
416-
argument.regexpMatch("(N-|-)?\\d+(\\.\\.(N-|-)?\\d+)?")
416+
argument.regexpMatch("(N-|-)?\\d+(\\.\\.((N-|-)?\\d+)?)?")
417417
or
418418
name = "WithArity" and
419-
argument.regexpMatch("\\d+(\\.\\.\\d+)?")
419+
argument.regexpMatch("\\d+(\\.\\.(\\d+)?)?")
420420
or
421421
Specific::isExtraValidTokenArgumentInIdentifyingAccessPath(name, argument)
422422
}

0 commit comments

Comments
 (0)