Commit Graph

3406 Commits

Author SHA1 Message Date
Jonas Jensen
7cc877cbbb C++: Taint through RangeBasedForStmt (AST only) 2020-08-06 15:37:41 +02:00
Geoffrey White
9f5c37ccaa Merge branch 'master' into copymove 2020-08-04 15:41:27 +01:00
Arthur Baars
7e72ef350e Merge pull request #3975 from aibaars/lgtm-suites
CodeQL: complete LGTM suites
2020-07-30 18:39:01 +02:00
Robert Marsh
ddbec50c07 Merge pull request #3990 from MathiasVP/mathiasvp/fix-qldoc-SemanticStackVariable
C++: Fix QLDoc for `SemanticStackVariable`
2020-07-29 12:27:29 -07:00
Mathias Vorreiter Pedersen
978bf3aefc C++: Make QLDoc comment represent a valid C++ template 2020-07-29 15:59:19 +02:00
Arthur Baars
c4041e55ba CodeQL: complete LGTM suites 2020-07-28 20:40:44 +02:00
Mathias Vorreiter Pedersen
a4242bcb5d Merge pull request #3962 from rdmarsh2/ir-barrierguard-checks-expr
C++: make IR BarrierGuard::checks match AST
2020-07-23 09:21:37 +02:00
Robert Marsh
0bb6d0c7ca C++: make IR BarrierGuard::checks match AST 2020-07-17 15:43:57 -07:00
Geoffrey White
2e5af67626 Merge pull request #3952 from MathiasVP/output-parameter-index-for-UserDefinedFormattingFunction
C++: Add getOutputParameterIndex override to UserDefinedFormattingFunction class.
2020-07-15 18:11:09 +01:00
Nick Rolfe
c7b668193b Merge pull request #3929 from igfoo/static_assert
C++: Give static assertions an enclosing element
2020-07-15 18:03:26 +01:00
Mathias Vorreiter Pedersen
289a908eb8 C++: Update qldoc in reponse to PR comments 2020-07-15 16:24:47 +02:00
Geoffrey White
c4940aaa86 Merge branch 'master' into copymove 2020-07-15 15:01:01 +01:00
Mathias Vorreiter Pedersen
edc33b6516 C++: Add getOutputParameterIndex override to UserDefinedFormattingFunction and accept test changes 2020-07-15 14:46:08 +02:00
Geoffrey White
3f6d8490e0 C++: Autoformat. 2020-07-14 15:09:12 +01:00
Ian Lynagh
c254de464a C++: Update stats following static_asserts change 2020-07-14 13:53:01 +01:00
Geoffrey White
646efe2a20 C++: Deprecate ConversionConstructor. 2020-07-13 15:04:39 +01:00
Geoffrey White
61178c5330 Merge branch 'master' into copymove 2020-07-13 14:11:12 +01:00
Geoffrey White
6519629472 Merge pull request #3942 from MathiasVP/remove-abstract-preprocessor
C++: Remove abstract classes from Preprocessor.qll
2020-07-13 10:00:50 +01:00
Mathias Vorreiter Pedersen
d6da318645 C++: Remove abstract classes from Preprocessor.qll 2020-07-10 21:55:14 +02:00
Dave Bartolomeo
912c50a881 Merge pull request #3937 from MathiasVP/replace-result-type-with-ir-result-type
C++: Replace getResultType() with getResultIRType()
2020-07-10 13:37:30 -04:00
Geoffrey White
456a05ecd5 Merge pull request #3940 from MathiasVP/remove-abstract-stmt
C++: Remove abstract classes and predicates from Stmt.qll
2020-07-10 16:41:45 +01:00
Mathias Vorreiter Pedersen
7cc83da97a C++: Remove @stmt_while from the TConditionalStmt union type. 2020-07-10 15:51:34 +02:00
Geoffrey White
2941f413f9 Merge pull request #3931 from aeisenberg/aeisenberg/cpp-print-ast
Add the printAst.ql contextual query for C++
2020-07-10 14:08:25 +01:00
Mathias Vorreiter Pedersen
567984af3d C++: Remove abstract classes from Stmt.qll 2020-07-10 14:21:56 +02:00
Andrew Eisenberg
782759d58e Add the printAst.ql contextual query for C++
This query will be used by the VS Code extension for viewing
ASTs of C/C++ files.
2020-07-09 08:28:49 -07:00
Mathias Vorreiter Pedersen
85a8280b30 C++: Replace getResultType() with getResultIRType() in IR dataflow 2020-07-09 15:54:15 +02:00
Mathias Vorreiter Pedersen
7029739691 C++: Replace getResultType() with getResultIRType() in IR range analysis 2020-07-09 15:53:54 +02:00
Mathias Vorreiter Pedersen
a405a95b68 C++: Introduce isSigned() and isUnsigned() predicates on IRIntegerType to mirror IntegralType 2020-07-09 15:52:09 +02:00
Jonas Jensen
277185a792 Merge pull request #3925 from geoffw0/rangefixup
C++: Add getFullyConverted() where missing in SimpleRangeAnalysis
2020-07-09 15:45:58 +02:00
Robert Marsh
0e66d0892b Merge pull request #3785 from MathiasVP/dataflow-operand-nodes
C++: Operands as dataflow nodes
2020-07-08 14:50:54 -07:00
Ian Lynagh
71b70b4bd0 C++: Give static_assert's an enclosing element 2020-07-08 17:10:43 +01:00
Geoffrey White
61dfebceb9 C++: Add getFullyConverted() as suggested. 2020-07-08 11:28:39 +01:00
Anders Schack-Mulligen
67db1df00c C++/C#/JavaScript/Python: Port Location qldoc update. 2020-07-07 11:39:27 +02:00
Jonas Jensen
2bd84a3a5e Merge pull request #3865 from geoffw0/bufferwrite-fixup
C++: 'modelling' -> 'modeling' part 2.
2020-07-02 08:37:19 +02:00
Jonas Jensen
62a656de0f Merge pull request #3860 from dbartol/codeql-c-analysis-team/40/2
C++: QLDoc cleanup
2020-07-02 08:32:44 +02:00
Geoffrey White
a260df9035 C++: 'modelling' -> 'modeling'. 2020-07-01 17:49:22 +01:00
Mathias Vorreiter Pedersen
bb9c8881d6 Merge pull request #3786 from geoffw0/bufferwritecleanup
C++: Clean up BufferWrite.qll
2020-07-01 18:33:26 +02:00
Dave Bartolomeo
f0215d1748 C++: Fix typo 2020-07-01 11:57:56 -04:00
Geoffrey White
8d8e47dc29 C++: QLDoc other straightforward model implementations. 2020-07-01 16:25:24 +01:00
Geoffrey White
e39c115746 C++: QLDoc Strcpy (as demanded by the tests). 2020-07-01 16:23:50 +01:00
Dave Bartolomeo
566d7fad63 C++: Autoformat some more 2020-07-01 10:14:35 -04:00
Anders Schack-Mulligen
7d057598d8 Merge pull request #3857 from jbj/flowthrough-bigstep-perf
C++: Remove big-step relation in flow-through code
2020-07-01 14:23:23 +02:00
Jonas Jensen
50cd759718 Merge pull request #3733 from geoffw0/models5
C++: Constructor and assignment models
2020-07-01 13:58:27 +02:00
Anders Schack-Mulligen
38b73ff684 Merge pull request #3854 from hvitved/dataflow/node-type-interface
Data flow: Replace `getErasedRepr()` and `Node::getTypeBound()` with `getNodeType()`
2020-07-01 11:37:19 +02:00
Dave Bartolomeo
10bbd566d4 C++: Autoformat 2020-07-01 02:28:53 -04:00
Dave Bartolomeo
6592f8c1bb C++: QLDoc cleanup
This PR just fixes a few bits of PR feedback from my previous QLDoc PR.
2020-06-30 17:33:52 -04:00
Jonas Jensen
cff0f48d34 C++: Work around join-order issue in flow-through
In this non-linear recursion, a `#prev` relation was joined earlier than
the `#prev_delta` relation. As a result, each iteration of the predicate
processes every tuple from previous iterations.

This quadratic behavior caused severe slowdowns on oneapi-src/oneDNN.
2020-06-30 21:12:57 +02:00
Jonas Jensen
17beb2d867 C++: Remove big-step relation in flow-through code
This relation was originally introduced to improve performance but may
no longer be necessary. The `localFlowStepPlus` predicate had an
explosion of tuples on oneapi-src/oneDNN for C++.
2020-06-30 21:06:45 +02:00
Geoffrey White
54b8f8e662 C++: Make getSecureAlgorithmRegex() return a single regexp as expected, and as getInsecureAlgorithmRegex() does. 2020-06-30 16:51:16 +01:00
Mathias Vorreiter Pedersen
286c09183f Merge pull request #3837 from geoffw0/qldoc5
C++/Java: Update QLDoc and terminology in Encryption.qll
2020-06-30 17:44:59 +02:00