Asger F
8d60ae7200
JS: Avoid unnecessary casts
2019-05-28 11:54:42 +01:00
Asger F
9f1617a6a8
JS: Update TaintedPath.expected (4x paths)
2019-05-28 11:22:08 +01:00
Asger F
6617747185
JS: Update DataFlowTracking output for booleanOps.js
2019-05-28 11:19:23 +01:00
Max Schaefer
7f8f126338
JavaScript: Add support for XML extraction.
2019-05-28 09:44:24 +01:00
Max Schaefer
4992970181
JavaScript: Fix an auto-build test.
2019-05-28 09:44:24 +01:00
Tom Hvitved
0ee5fe88d9
CIL: Account for multiple VariableUpdate::getSource()s in nullness analysis
...
For methods compiled without optimization (and possibly also with optimization),
it is possible for a variable update to have multiple possible assigned values.
For example, the non-optimized CIL for
```
return cond ? null : "not null"
```
is
```
0: nop
1: ldarg.0
2: ldfld cond
3: brtrue.s 6:
4: ldstr "not null"
5: br.s 7:
6: ldnull
7: stloc.0 L0 // stores either `null` or "not null"
8: br.s 9:
9: ldloc.0
10: ret
```
Consequently, an existential in `CallableReturns.qll` must be a `forex`.
2019-05-28 10:13:00 +02:00
Tom Hvitved
4fc61ebbf3
C#: Add tests for maybe-null CIL methods
2019-05-28 10:05:33 +02:00
semmle-qlci
9804105855
Merge pull request #1364 from asger-semmle/typescript-change-note
...
Approved by esben-semmle
2019-05-28 08:27:38 +01:00
Max Schaefer
86e96c6dc3
JavaScript: Introduce is{Barrier,Sanitizer}Edge predicate.
...
This name is more intuitive than the previous binary
`is{Barrier,Sanitizer}` predicates, and is consistent with the other
languages.
2019-05-28 08:08:14 +01:00
Max Schaefer
d9b3e461ba
Merge pull request #1351 from asger-semmle/js-incomplete-nodes
...
JS: Mark some more nodes as incomplete
2019-05-28 07:59:23 +01:00
Max Schaefer
bad5465aad
Merge pull request #1360 from asger-semmle/customize-window-document
...
JS: Make some DOM concepts customizable
2019-05-28 07:58:44 +01:00
Esben Sparre Andreasen
fd4c749e27
JS: change FrameworkLibraryInstance Script/TopLevel inheritance
...
This is theoretically a breaking change, but it preserves the
semantics of all queries in this repository, as far as I can see.
2019-05-28 08:31:23 +02:00
Esben Sparre Andreasen
1b1e9ed51a
JS: cache matchMarkerComment
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
189ac6c2bd
JS: add js/prototype-pollution to the security suite
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
eb13ab52cf
JS: sharpen js/prototype-pollution with version analysis
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
c143e31fb5
JS: rename getDefaultNode to getImportedModuleNode
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
0660db37f6
JS: introduce SemVer matching library
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
7d57d1915a
JS: introduce DataFlow::DependencyModuleImport
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
1cea29d89f
JS: improve prototype pollution tests
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
af3f0b1d04
JS: add test for missing support for package-lock.json
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
ef6f4c7a5e
JS: update docstring
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
f74653be46
JS: extract getDefaultNode from DefaultRange
2019-05-27 22:32:32 +02:00
Jonas Jensen
d2fa7aad1c
Merge pull request #1336 from geoffw0/cached2
...
CPP: Cache Expr.getType().
2019-05-27 12:48:56 +01:00
Tom Hvitved
c82a2f0fec
C#: Refactor data flow predicates to be defined by dispatch
2019-05-27 13:40:41 +02:00
Tom Hvitved
641126a506
Merge pull request #1339 from calumgrant/cs/cs8/ranges
...
C#: Implement C#8 features
2019-05-25 09:28:22 +02:00
yh-semmle
87cbc7e199
Merge pull request #1344 from aschackmull/java/validatedvariable
...
Java: Replace ValidatedVariable with guarded accesses.
2019-05-24 11:23:18 -04:00
Geoffrey White
170691b467
CPP: Comment as suggested.
2019-05-24 16:16:45 +01:00
Geoffrey White
6bac1e6e99
CPP: Accept CWE-190 test change.
2019-05-24 16:16:45 +01:00
Calum Grant
ae8ecc88e6
C#: Address review comments.
2019-05-24 14:56:58 +01:00
Anders Schack-Mulligen
1a9b1d5865
Java: Add change note.
2019-05-24 15:50:45 +02:00
Calum Grant
d2aea635e4
C#: Address review comments
2019-05-24 13:49:05 +01:00
Calum Grant
fe6056b0fc
C#: Analysis change notes.
2019-05-24 13:49:05 +01:00
Calum Grant
14147a1abe
C#: DB upgrade script and stats
2019-05-24 13:49:05 +01:00
Tom Hvitved
a1e58cedac
C#: Refactor recursive patterns implementation
...
- Extract names of properties in a propery match, using the `exprorstmt_name` relation.
- Simplify extraction of properties by not distinguishing between top-level patterns
and nested patterns.
- Introduce `PatternExpr` to capture patterns in `is` expressions, `case` statements,
and `switch` expression arms.
- Generalize `IsTypeExpr`, `IsPatternExpr`, `IsRecursivePatternExpr`, and `IsConstantExpr`
to just `IsExpr` with a member predicate `PatternExpr getPattern()`.
- Generalize `TypeCase`, `RecursivePatternCase`, and `ConstCase` to just `CaseStmt` with
a member predicate `PatternExpr getPattern()`.
- Introduce classes `Switch` and `Case` as base classes of switch statements/expressions
and case statements/switch expression arms, respectively.
- Simplify CFG logic using the generalized classes.
- Generalize guards library to cover `switch` expressions tests.
- Generalize data flow library to cover `switch` expression assignments.
2019-05-24 13:49:05 +01:00
Calum Grant
b28ad9066f
C#: Change notes
2019-05-24 13:49:05 +01:00
Calum Grant
21203cdf0d
C#: Minor code tidy.
2019-05-24 13:49:05 +01:00
Calum Grant
aecc9e2a57
C#: Fix LGTM warnings
2019-05-24 13:49:05 +01:00
Calum Grant
55b41cfaf7
C#: DB Upgrade script
2019-05-24 13:49:05 +01:00
Calum Grant
1a40c29aba
C#: DB stats
2019-05-24 13:49:05 +01:00
Calum Grant
fa57017720
C#: Minor edit.
2019-05-24 13:49:05 +01:00
calum
1428d0ba93
C#: Implement recursive patterns
2019-05-24 13:49:05 +01:00
calum
318068b52f
C#: Implement range operator
2019-05-24 13:49:04 +01:00
Geoffrey White
15e2248440
Merge pull request #1359 from jbj/definitions-column-order
...
C++: definitions.ql performance tweaks
2019-05-24 12:43:57 +01:00
alexey
8168c0ee0a
Fix typo in test for the query
2019-05-23 15:54:59 +01:00
Tom Hvitved
d30bce4f31
C#: Update expected test output
2019-05-23 16:03:54 +02:00
Max Schaefer
1bf7bcf010
Merge pull request #1356 from asger-semmle/tainted-path-cherry-picked
...
JS: Refactor LabelledBarrierGuard
2019-05-23 12:26:35 +01:00
Asger F
6bb011a4cc
JS: Stop using data/taint as flow labels in TaintedPath
2019-05-23 10:16:41 +01:00
Asger F
0823f6c935
JS: fix use of dataOrTaint()
2019-05-23 10:16:41 +01:00
Asger F
37fa2446d4
JS: review comments
2019-05-23 10:16:31 +01:00
Asger F
07d508d1bf
JS: Track taint through .replace()
2019-05-23 09:23:48 +01:00