Commit Graph

5239 Commits

Author SHA1 Message Date
Robert Marsh
13c45b6664 C++: remove unnecessary parameter in FlowVar.qll 2020-09-08 13:51:58 -07:00
Robert Marsh
c8cdf68bf9 C++: Remove StdStringBeginEnd 2020-09-08 13:49:57 -07:00
Robert Marsh
703db0b9a6 C++: noisy output iterators in AST taint tracking 2020-09-08 13:45:23 -07:00
Robert Marsh
983f54f11a C++: simple tests for vector output iterators 2020-09-08 13:27:41 -07:00
Mathias Vorreiter Pedersen
9659afdf09 C++: Accept more test changes 2020-09-08 22:25:33 +02:00
Robert Marsh
44bdf98217 C++: simplify and explain getExplicitlyConverted 2020-09-08 13:02:51 -07:00
Robert Marsh
65cc9888d5 Merge branch 'main' into rdmarsh2/cpp/explicit-conversion-perf 2020-09-08 12:29:34 -07:00
Robert Marsh
083a4b2abc C++: handle non-casts in hasExplicitConversion 2020-09-08 12:28:16 -07:00
Mathias Vorreiter Pedersen
f025d09bf0 C++: Accept test changes 2020-09-08 19:12:00 +02:00
Mathias Vorreiter Pedersen
978b74f235 C++: Implement taint model for make_shared and make_unique 2020-09-08 19:11:48 +02:00
Mathias Vorreiter Pedersen
7ac5e84925 C++: Add make_shared and make_unique test cases 2020-09-08 19:03:54 +02:00
Geoffrey White
90c7a79272 C++: Fix the object/refs up. 2020-09-08 16:49:11 +01:00
Geoffrey White
5a3d41879a C++: Change some of the taint flows to data flows. 2020-09-08 16:49:11 +01:00
Geoffrey White
8a143bec3a C++: Reverse taint through operator<<. 2020-09-08 16:49:10 +01:00
Geoffrey White
b73ff8da63 C++: Flow through operator<<. 2020-09-08 16:49:10 +01:00
Jonas Jensen
911dec6f86 C++: SimpleRangeAnalysis (bool)x and !x support 2020-09-08 16:59:35 +02:00
Jonas Jensen
1b6da062cf C++: RangeAnalysis tests for bool conversions 2020-09-08 16:58:35 +02:00
Mathias Vorreiter Pedersen
5d14688848 Merge branch 'main' into mathiasvp/array-field-flow 2020-09-08 14:38:58 +02:00
Mathias Vorreiter Pedersen
41147d245d C++: Accept test changes 2020-09-08 14:35:22 +02:00
Mathias Vorreiter Pedersen
faae2e782a C++: Implement field flow for operator[] writes and pointer deref writes. 2020-09-08 14:35:09 +02:00
Jonas Jensen
f92f84e3d4 Merge remote-tracking branch 'upstream/main' into BlockStmt 2020-09-08 14:09:46 +02:00
Jonas Jensen
ab90f06ddf C++: Rename Block -> BlockStmt 2020-09-08 08:40:20 +02:00
Rajiv Shah
f168356181 C++: Allow .inc files to be included 2020-09-07 18:09:21 -04:00
Ian Lynagh
d49bc4ccda C++: Tweak qldoc for coroutines 2020-09-07 20:39:11 +01:00
Ian Lynagh
4bf545548b C++: Tweak to make qlformat happy 2020-09-07 20:37:01 +01:00
Ian Lynagh
86c58afa48 C++: Update stats for co_await/co_yield/co_return 2020-09-07 20:37:01 +01:00
Ian Lynagh
49f7baf5a9 C++: Add an upgrade script 2020-09-07 20:37:01 +01:00
Ian Lynagh
cca276be84 C++: Remove co_await range-based-for support for now
Initial impl won't support it
2020-09-07 20:37:01 +01:00
Ian Lynagh
78b522722c C++: Split CoReturnStmt.getExpr into CoReturnStmt.{getOperand,getExpr} 2020-09-07 20:37:01 +01:00
Matthew Gretton-Dann
8b8b9d6fe3 Actually sort add Statement support
This commit fixes the previous one.
2020-09-07 20:37:01 +01:00
Matthew Gretton-Dann
5df5e6dfce 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-09-07 20:37:01 +01:00
Matthew Gretton-Dann
8199b3a230 C++: Add DB schema support for coroutines 2020-09-07 20:37:01 +01:00
Geoffrey White
6ef67af743 C++: Add models for stringstream methods. 2020-09-07 18:27:42 +01:00
Geoffrey White
fafd2f0a7c C++: Add test cases for stringstream / ostream. 2020-09-07 18:27:42 +01:00
Mathias Vorreiter Pedersen
9c1837e3b3 C++: Rename getField to getAField following review comments. 2020-09-07 16:52:04 +02:00
Jonas Jensen
3493c93d7b Merge pull request #4218 from MathiasVP/mathiasvp/fix-fp-av82
C++: Add cases for conditional and comma operator in AV Rule 82
2020-09-07 15:27:07 +02:00
Jonas Jensen
3a7bf2a15a Merge pull request #3933 from MathiasVP/alternative-instruction-operand-flow
C++: Alternate instruction -> operand flow
2020-09-07 13:37:20 +02:00
Jonas Jensen
0fe5d75375 Merge pull request #4196 from MathiasVP/mathiasvp/field-to-object-taint-tests
C++: Add field to object taint tests
2020-09-07 13:02:22 +02:00
Mathias Vorreiter Pedersen
b3d18ef610 C++: Add cases for conditional and comma operator in AV RUle 82 2020-09-07 08:59:08 +02:00
Mathias Vorreiter Pedersen
a5ac8ebc2f C++: Don't import internals. 2020-09-05 11:47:22 +02:00
Robert Marsh
4be138d790 C++: Improve performance of getExplicitlyConverted 2020-09-04 14:17:56 -07:00
Mathias Vorreiter Pedersen
a4890ef99c C++: Add annotations describing whether the flow is an instance of field-to-object flow 2020-09-04 18:32:28 +02:00
Mathias Vorreiter Pedersen
cfd606a4e0 Merge branch 'main' into alternative-instruction-operand-flow 2020-09-04 18:26:38 +02:00
Mathias Vorreiter Pedersen
208b85c7fc Merge branch 'main' into mathiasvp/read-step-without-memory-operands 2020-09-04 18:04:15 +02:00
Jonas Jensen
eea893483d Merge pull request #4209 from geoffw0/taintbits
C++: Fix a few remaining holes in taint through std::string
2020-09-04 17:52:48 +02:00
Jonas Jensen
f92139d2b0 Merge pull request #4202 from geoffw0/localhidesparam
C++: Improve handling of template functions in cpp/declaration-hides-parameter
2020-09-04 17:52:35 +02:00
Mathias Vorreiter Pedersen
ed7e499b02 Merge branch 'main' into mathiasvp/read-step-without-memory-operands 2020-09-04 17:25:36 +02:00
Mathias Vorreiter Pedersen
c67951682a C++: Fix two bad join orders in readStep and storeStep. And use a min aggregate to guarentee that a FieldContent's toString has at most one result. 2020-09-04 17:12:30 +02:00
Geoffrey White
156a174cf4 C++: Add explanation. 2020-09-04 14:55:55 +01:00
Geoffrey White
96098c5244 C++: Simplify getConstructedFrom. 2020-09-04 14:52:01 +01:00