Henning Makholm
29167bbff8
Add qlpack.json files
...
Eventually these files will subsume the current `queries.xml` files
at the top of query-containing and library directories. For now they're
just here to support internal testing of the tooling support for them
we're writing on.
Format and contents is a work in progress. If you're not in Semmle,
don't depend on anything here making sense (or staying stable) until
you see the version tags increase to something nonzero.
2019-10-12 17:38:01 +02:00
zlaski-semmle
ae0c4e449f
Merge pull request #1925 from geoffw0/qldoceg10
...
CPP: Add syntax examples to QLDoc in Access.qll, Declaration.qll
2019-10-11 12:19:18 -07:00
Geoffrey White
0398681b84
CPP: Autoformat.
2019-10-11 17:30:29 +01:00
Jonas Jensen
c99845ce5d
Merge pull request #2035 from geoffw0/comparison
...
CPP: Unclear comparison precedence template fix
2019-10-10 16:31:54 +02:00
Geoffrey White
d8f3422375
CPP: Reword and clarify.
2019-10-10 10:04:32 +01:00
Geoffrey White
393c9e9247
CPP: QLDoc example for ImplicitThisFieldAccess.
2019-10-10 10:04:32 +01:00
Geoffrey White
1c0fdef0a8
CPP: Add a simplified test case for ImplicitThisFieldAccess.
2019-10-10 10:04:32 +01:00
Geoffrey White
e45ea90428
CPP: Backticks.
2019-10-10 10:04:31 +01:00
Geoffrey White
5fe69c7658
CPP: QLDoc fix for Stmt.qll.
2019-10-10 10:04:31 +01:00
Geoffrey White
85063760af
CPP: Examples Declaration.qll.
2019-10-10 10:04:31 +01:00
Geoffrey White
3e46494c3a
CPP: Clarify the Declaration / DeclarationEntry relationship around definitions, as there has been confusion over this.
2019-10-10 10:04:31 +01:00
Geoffrey White
bc4363bc22
CPP: Add a test of FunctionAccess and cases for FieldAccess.
2019-10-10 10:04:31 +01:00
Geoffrey White
4543aaf5dd
CPP: Examples Access.qll.
2019-10-10 10:04:31 +01:00
Geoffrey White
b10988faec
CPP: Fix the query.
2019-10-10 09:15:19 +01:00
Geoffrey White
3f167a6f15
CPP: Add a test involving templates.
2019-10-10 09:15:19 +01:00
Geoffrey White
4fc73cab63
CPP: Add a test of ComparisonPrecedence.ql.
2019-10-10 09:15:19 +01:00
zlaski-semmle
8896fa5bc9
Merge pull request #1924 from geoffw0/quickfix
...
CPP: Tiny qldoc fixes.
2019-10-09 14:52:54 -07:00
Jonas Jensen
daabb2c5d0
Merge pull request #2082 from rdmarsh2/rdmarsh/cpp/ir-getASTVariable
...
IR: add getASTVariable to VariableInstruction
2019-10-09 08:56:01 +02: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
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
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
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
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
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
Jonas Jensen
3c7d79481f
C++: Autoformat FlowVar.qll
2019-10-01 15:54:41 +02:00
Jonas Jensen
0990ceb09a
C++: Remove bbNotInLoop and its caller in FlowVar
...
This change is needed when enabling the QL CFG on certain snapshots such
as notaz/picodrive. It removes the `bbNotInLoop` predicate, which was
always a liability because it's inherently quadratic. The real slowdown
came in `skipLoop`, where all true-upon-entry loops were crossed with
all definitions of variables that should take their definition from the
loop body.
2019-10-01 14:33:28 +02:00
Jonas Jensen
eed24f1933
C++: Improve join orders with QL CFG
...
Size estimates are slightly different when we enable the QL CFG, and
this caused bad join orders in these predicates.
2019-10-01 14:33:28 +02:00
ian-semmle
e048207e2f
Merge pull request #2055 from matt-gretton-dann/cpp-439-test-cases
...
C++: Add test cases for constant initializers
2019-10-01 12:43:46 +01:00
Jonas Jensen
34b625900a
C++: Avoid extends Operation in LeapYear.qll
...
The `Operation` class is abstract, and extending it caused cached stages
to be recomputed all the way down to the AST. This meant that the leap
year queries evaluated their own copy of SSA and data flow.
2019-10-01 11:50:33 +02:00
Robert Marsh
a45a6e48f8
C++: remove side effect operands from non-reads
2019-09-30 12:00:55 -07:00
Robert Marsh
9f20cb83c3
C++/C#: Autoformat
2019-09-30 12:00:55 -07:00
Robert Marsh
fcfc11052a
C++: add QLDoc to side effect functions
2019-09-30 12:00:54 -07:00
Robert Marsh
8649978a43
C++: add indexes for specific side effects
2019-09-30 12:00:53 -07:00
Robert Marsh
24574be007
C++: add SizedBuffer side effect instructions
2019-09-30 12:00:53 -07:00
Robert Marsh
554d6390f7
C++: clean up after rebase
2019-09-30 12:00:53 -07:00
Robert Marsh
49088e7f09
C++: Fix formatting and dropped line
2019-09-30 12:00:53 -07:00
Robert Marsh
3d562243e4
C++: add side effects for outparams
2019-09-30 12:00:52 -07:00
Ziemowit Laski
a0cbd87d1f
[zlaski/memset-model] Rename predicate usage as per PR/1938.
2019-09-30 10:47:59 -07:00
Ziemowit Laski
ae169e9c33
[zlaski/memset-model] Add AliasFunction as base class of MemsetFunction; override predicates parameterNeverEscapes, parameterEscapesOnlyViaReturn and parameterIsAlwaysReturned.
2019-09-30 10:44:12 -07:00
Ziemowit Laski
aaa2a60b93
[zlaski/memset-model] Remove taint tracking from Memset.qll. Add Memset.qll to Models.qll.
2019-09-30 10:44:12 -07:00