Ziemowit Laski
55c26a8880
[CPP-434] Initial version of query + test cases.
2019-10-08 14:12:34 -07:00
Anders Schack-Mulligen
5e0ce81030
Java: Refactor to improve join-pipeline.
2019-10-08 17:15:06 +02:00
Jonas Jensen
5d7a0b8dd5
Merge remote-tracking branch 'upstream/master' into dataflow-ref-parameter
...
I've accepted the new test output, which shows that this branch fixes
two false negatives in the test cases from #2088 .
2019-10-08 13:09:20 +02:00
Jonas Jensen
19f642fc8d
Merge commit '7434702' into dataflow-ref-parameter
...
This merges #1735 into this branch to resolve the semantic merge
conflicts between them.
2019-10-08 12:55:47 +02:00
Anders Schack-Mulligen
20084fb3c0
Java: Fix pruning in partialPathStep.
2019-10-08 11:28:53 +02:00
Anders Schack-Mulligen
bf14889077
Java: Refactor to improve performance.
2019-10-08 11:28:35 +02:00
Robert Marsh
7fa367d6cf
C++: autoformat
2019-10-07 16:37:35 -07:00
Robert Marsh
5c084f8b39
C++: respond to more PR comments
2019-10-07 14:17:56 -07:00
Robert Marsh
b60e7c204d
C++: autoformat and accept test output
2019-10-07 14:07:25 -07:00
Anders Schack-Mulligen
f8123679a1
Java: Qldoc updates.
2019-10-07 16:12:31 +02:00
Anders Schack-Mulligen
75ebc098bb
Java: Fix semantic merge conflict.
2019-10-07 15:42:26 +02:00
Anders Schack-Mulligen
b581e38782
Java: Autoformat and sync post rebase.
2019-10-07 15:26:39 +02:00
Tom Hvitved
ee5503146e
Add stub implementations for isUnreachableInCall()
2019-10-07 15:13:49 +02:00
Tom Hvitved
eabfa31767
Synchronize data flow files
2019-10-07 15:13:48 +02:00
Robert Marsh
057c634fe4
C++: fix identical chi node operands
2019-10-04 13:05:47 -07:00
Robert Marsh
17e14348d5
C++: sanity test for identical Chi node operands
2019-10-04 12:57:30 -07:00
Robert Marsh
3377f88494
C++: generate Chi nodes on total IndirectMayWrites
2019-10-04 11:59:22 -07:00
Jonas Jensen
6c87d75190
Merge pull request #2088 from geoffw0/swap3
...
CPP: Add taint tests.
2019-10-04 20:44:18 +02:00
Robert Marsh
5f8a3054d1
C++: add UninitializedInstructions for direct init
2019-10-04 11:34:14 -07:00
Robert Marsh
7fefe4385a
Merge pull request #1963 from jbj/predictableInstruction
...
C++: Implement predictableInstruction without Expr
2019-10-04 10:04:52 -07:00
Geoffrey White
050d99fa87
CPP: Add test cases.
2019-10-04 17:44:27 +01:00
ian-semmle
ebc10cf5db
Merge pull request #2084 from matt-gretton-dann/cpp-445-synthetic_destructor_call-INVALID_KEY-warnings
...
Update keysets for synthetic_destructor_call and *variables tuple
2019-10-04 16:38:35 +01:00
Geoffrey White
0e478d1c0e
Merge pull request #2066 from jbj/dataflow-conditionAlwaysTrue-perf
...
C++: Improve join orders for QL CFG
2019-10-04 14:16:41 +01:00
Geoffrey White
e465f4cc81
Merge pull request #2064 from jbj/leapyear-extends-abstract
...
C++: Avoid `extends Operation` in LeapYear.qll
2019-10-04 14:15:21 +01:00
Jonas Jensen
a7641a8765
C++: Clarify OutNode and ReturnNode QLDoc
2019-10-04 14:33:04 +02:00
Tom Hvitved
9b58d799cb
Java/C++/C#: Tweak AccessPathNil::toString()
...
Move the type annotation outside the brackets, to avoid prefixes such as
`[ : T]`.
2019-10-04 11:09:44 +02:00
Robert Marsh
bc973973df
C++: accept test changes
2019-10-03 14:43:54 -07:00
Robert Marsh
6e587f3f2a
IR: Add VariableInstruction.getASTVariable
2019-10-03 13:12:06 -07:00
Robert Marsh
c1e3821ab0
IR: rename getVariable to getIRVariable
2019-10-03 13:10:49 -07:00
Robert Marsh
a76c4d9b3b
C++: index for constructor qualifier side effects
2019-10-03 12:39:32 -07:00
Robert Marsh
47b9c497fa
C++: IR SSA tests for explicit constructor calls
2019-10-03 12:25:41 -07:00
Matthew Gretton-Dann
d06e3d79c6
C++: Add DB Upgrade script
2019-10-03 15:16:50 +01:00
Matthew Gretton-Dann
618d0a9603
C++: Update DB Stats
2019-10-03 15:16:50 +01:00
Matthew Gretton-Dann
a7f682a9be
C++: Update *variables keysets.
2019-10-03 15:16:50 +01:00
Matthew Gretton-Dann
d62730a9f3
C++: Update synthetic_destructor_call keysets.
...
Reorder the [ destructor_call, expr ] tuple.
Add a [ expr, i ] tuple.
2019-10-03 15:16:50 +01:00
Matthew Gretton-Dann
06d1d6ed5d
C++: Fix synthetic_destructor_call key uniqueness.
2019-10-03 15:16:50 +01:00
Jonas Jensen
dca39f0fad
Merge pull request #2027 from zlaski-semmle/zlaski/memset-model
...
[zlaski/memset-model] QL model for `memset` and friends
2019-10-03 14:31:23 +02:00
Jonas Jensen
01a3a037bc
C++: Make complex_numbers/expr.ql less brittle
...
This test used `getAQlClass`, which caused it to break when new classes
were added anywhere in the libraries. That's now avoided by switching to
`getCanonicalQLClass`. It turns out that `getCanonicalQLClass` didn't
support arithmetic expressions on complex numbers, so that support had
to be added.
2019-10-03 13:19:16 +02:00
Jonas Jensen
41d344a8b7
C++: Support if constexpr in QL CFG
...
This fixes the test `cpp/ql/test/library-tests/constexpr_if/cfg.ql`,
which broke when the QL CFG was enabled.
The new cases are just copy-pastes of the `IfStmt` cases (they don't
share a useful common superclass) with added checks for whether their
constant value equals 0.
2019-10-03 12:21:41 +02:00
Jonas Jensen
2eed38e2d4
C++: Accept slight CFG regression in static init
...
Hopefully it does not make a difference in practice whether
uninstantiated template functions are considered to have control flow
through initializers of their static variables.
2019-10-03 11:48:03 +02:00
Jonas Jensen
8bed418022
C++: enable the QL-based CFG code
2019-10-03 10:04:24 +02:00
Robert Marsh
4018ed67a6
C++: respond to PR comments
2019-10-02 11:38:20 -07:00
Robert Marsh
03f72d207c
C++: use Declaration.hasGlobalOrStdName
2019-10-02 11:37:37 -07:00
Robert Marsh
bff68a00ac
C++: Add Declaration.hasStdName
2019-10-02 11:37:37 -07:00
Robert Marsh
98b97b09be
C++: add hasGlobalOrStdName to Declaration
2019-10-02 11:37:37 -07:00
Robert Marsh
53f522c7f6
C++: respond to PR comments and autoformat
2019-10-02 10:11:58 -07:00
Tom Hvitved
e5380aa6a7
Merge pull request #2038 from aschackmull/java/dataflow-fixes
...
Java/C++/C#: Misc. dataflow fixes.
2019-10-02 16:39:01 +02:00
Anders Schack-Mulligen
f87cb4d6ac
Java/C++/C#: Address review comments and fix test.
2019-10-02 14:32:17 +02:00
Robert Marsh
bace8c723d
C++: side effect instrs for constructor qualifiers
...
This adds IndirectMustWriteSideEffects for constructor qualifiers. The
introduced sanity failures result from constructor calls without qualifier
operands in the IR
2019-10-01 14:53:37 -07:00
Jonas Jensen
3c7d79481f
C++: Autoformat FlowVar.qll
2019-10-01 15:54:41 +02:00