Ian Lynagh
62cbd2506c
C++: Update stats to add coroutines
2020-09-01 11:48:00 +01:00
Ian Lynagh
ce9432edda
C++: Add an upgrade script
2020-08-28 13:52:54 +01:00
Ian Lynagh
8d67418870
C++: Remove co_await range-based-for support for now
...
Initial impl won't support it
2020-08-28 13:52:54 +01:00
Ian Lynagh
7068a2b5be
C++: Split CoReturnStmt.getExpr into CoReturnStmt.{getOperand,getExpr}
2020-08-28 13:52:54 +01:00
Matthew Gretton-Dann
0e9fefd383
Actually sort add Statement support
...
This commit fixes the previous one.
2020-08-28 13:52:54 +01:00
Matthew Gretton-Dann
79a91bb2a2
Add initial QL support classes for coroutines
...
Add classes for expressions co_yield and co_await.
Adds classes for statements co_return and `for co_await`.
2020-08-28 13:52:54 +01:00
Matthew Gretton-Dann
c3efacf2df
C++: Add DB schema support for coroutines
2020-08-28 13:52:54 +01:00
Jonas Jensen
55d7ac88f9
Merge pull request #4148 from geoffw0/vecextra
...
C++: Improvements to string and vector models.
2020-08-28 10:05:42 +02:00
Mathias Vorreiter Pedersen
ceddc2497a
Merge pull request #4151 from geoffw0/reftaint
...
C++: Taint tests for array and reference assignments.
2020-08-27 20:00:13 +02:00
Geoffrey White
9b3da1f6c7
C++: Autoformat.
2020-08-27 16:55:45 +01:00
Geoffrey White
208cd4c888
C++: Fix assign in the test stl.h.
2020-08-27 16:52:22 +01:00
Geoffrey White
927a4faa58
C++: Remove the non-reference case that we shouldn't need.
2020-08-27 15:42:40 +01:00
Geoffrey White
071b303ea0
C++: Make the other versions consistent with this.
2020-08-27 15:24:48 +01:00
Rasmus Wriedt Larsen
36ac111659
Merge pull request #4152 from tausbn/python-sync-inline-test-expectations-files
...
Python: Sync InlineExpectationsTest.qll between Python and C++
2020-08-27 16:23:08 +02:00
Geoffrey White
865d91de80
C++: Fix getAValueTypeParameterIndex().
2020-08-27 15:08:58 +01:00
Jonas Jensen
c507b337f2
Merge pull request #3921 from catenacyber/NullCheckParam
...
C++: Adds another redundant null check rule
2020-08-27 16:07:13 +02:00
Geoffrey White
816b8abd7c
C++: Add a test case using a const int *.
2020-08-27 15:05:23 +01:00
Taus Brock-Nannestad
797e290a67
Python+CPP: Change values to value
2020-08-27 14:12:40 +02:00
Taus Brock-Nannestad
dccbcc15b3
Python: Sync InlineExpectationsTest.qll between Python and C++
...
Also changes `valuesasas` to `values` in the test example.
2020-08-27 13:37:26 +02:00
Geoffrey White
a5a3078b58
C++: Add a test case using a typedef int.
2020-08-27 12:11:56 +01:00
Geoffrey White
6f62803e1f
C++: Taint tests for array and reference assignments.
2020-08-27 11:26:25 +01:00
Geoffrey White
111da4c352
C++: Add a model of std::vector::assign.
2020-08-27 10:22:31 +01:00
Geoffrey White
0952fb9777
C++: Minor correction in one of the string models.
2020-08-27 10:13:12 +01:00
Geoffrey White
fbac4ce44f
C++: Split StdStringCStr and allow reverse flow on data.
2020-08-27 10:11:03 +01:00
Geoffrey White
fbff44ea45
C++: Add reverse taint as well.
2020-08-27 10:09:51 +01:00
Geoffrey White
6ae96baaf6
C++: Model std::vector::data.
2020-08-27 10:08:58 +01:00
Geoffrey White
2235c19593
C++: Add test cases for 'assign' and extra cases for 'data'.
2020-08-27 10:08:42 +01:00
Taus Brock-Nannestad
0f221ccfa2
Merge branch 'main' into python-cpp-make-inline-test-libs-language-agnostic
2020-08-26 17:23:25 +02:00
Taus Brock-Nannestad
a824d75e4f
C++: Add documentation for the LineComment class
2020-08-26 16:02:26 +02:00
Jonas Jensen
f60abd8cf9
Merge pull request #4125 from geoffw0/oparray2
...
C++: Model operator[]
2020-08-26 13:44:02 +02:00
Nick Rolfe
00316dca8b
Merge pull request #4120 from github/igfoo/global_vars
...
C++: Give fewer types to global variables
2020-08-26 12:29:41 +01:00
Taus Brock-Nannestad
f8ba4c1579
CPP: Make inline expectation test library language agnostic.
...
In preparation for adding this to Python, I have split out the
definition of the comment class in a separate file (which will be
specific to each language).
2020-08-26 13:06:24 +02:00
Geoffrey White
3f04530d84
C++: Autoformat.
2020-08-26 09:34:06 +01:00
Geoffrey White
fdf45f02f1
C++: Autoformat.
2020-08-25 18:53:19 +01:00
Geoffrey White
c083c6235d
C++: Explicitly model data flow in through reference return values.
2020-08-25 16:20:12 +01:00
Geoffrey White
76a07f7292
C++: Use [, ...] syntax.
2020-08-25 12:30:06 +01:00
Geoffrey White
d31987d496
C++: Additional QLDoc.
2020-08-25 12:21:06 +01:00
Geoffrey White
23a792b8c6
C++: Add tests of nested vectors.
2020-08-25 12:13:32 +01:00
Geoffrey White
adbfad21ef
C++: Correct the localFlow test.
2020-08-24 18:05:30 +01:00
Geoffrey White
ae807f7f33
C++: Autoformat.
2020-08-24 17:36:07 +01:00
Geoffrey White
1c38a4d5d6
Update cpp/ql/src/semmle/code/cpp/dataflow/internal/TaintTrackingUtil.qll
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2020-08-24 14:33:51 +01:00
Geoffrey White
d3c8ffb995
C++: Clean up, comment, and restrict the new flow to the post-update node of the returned reference.
2020-08-24 14:07:06 +01:00
Geoffrey White
f2caa8a2b0
C++: Reverse taint through function models returning a reference.
2020-08-24 14:05:04 +01:00
Geoffrey White
f25ef26c37
C++: Permit taint flow to the left side of an assignment.
2020-08-24 14:01:49 +01:00
Geoffrey White
1da78ada14
C++: Model 'operator[]' and 'at' for std::string, std::vector and other containers.
2020-08-24 13:58:43 +01:00
Geoffrey White
f6770c5b88
C++: Add tests for std::string 'operator[]' and 'at()'.
2020-08-24 13:49:39 +01:00
Jonas Jensen
b2cd98a98f
C++: Confirm correct behaviour on C++20
...
Making `constexpr` imply `const` was correct for C++11 and was a correct
emulation of a GCC bug on GCC < 5.0. This test confirms that the problem
isn't there in C++20.
2020-08-24 13:42:40 +02:00
Philippe Antoine
07610e0899
Format document
2020-08-24 13:12:54 +02:00
Ian Lynagh
3ead154c9a
C++: Add VariableDeclarationEntry test to library-tests/variables/global
2020-08-24 11:51:52 +01:00
Jonas Jensen
cd8e9a1ece
C++: Demonstrate that constexpr implies const
...
This test shows that a member function declared `constexpr` also gets a
`const` specifier.
2020-08-24 11:39:41 +02:00