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
Robert Marsh
bc0d21879d
Merge branch 'main' into rdmarsh2/cpp/input-iterators-1
...
Resolve test conflict
2020-08-21 14:36:27 -07:00
Robert Marsh
4c82753e8d
C++: remove constexpr in stl.h temporarily
2020-08-21 14:22:32 -07:00
Robert Marsh
94d4e05c25
C++: Fix iterator taint flow
2020-08-21 14:04:45 -07:00
Robert Marsh
656340f5c6
C++: more tests for string iterator flow
2020-08-21 13:48:36 -07:00
Geoffrey White
3d171f358a
Merge remote-tracking branch 'upstream/main' into vecmethods
2020-08-20 13:29:28 +01:00
Geoffrey White
cda9fd250b
C++: Model vector methods.
2020-08-20 10:30:01 +01:00
Geoffrey White
620126d38c
C++: Add vector taint cases to test.
2020-08-20 10:27:25 +01:00
Geoffrey White
43c8efdf63
C++: Repair the range based for test.
2020-08-20 10:19:54 +01:00
Geoffrey White
8afa92d881
C++: Add more detail to the vector class in the test stl.h.
2020-08-20 09:39:35 +01:00
Robert Marsh
20188b7bc2
C++: input iterator models
2020-08-19 12:11:36 -07:00
Geoffrey White
0234bca6ca
C++: Fix a hole in StdStringAppend and clarify comments.
2020-08-17 17:55:44 +01:00
Geoffrey White
a11ca06189
C++: Implement more std::string models.
2020-08-17 17:33:09 +01:00
Geoffrey White
9204940830
C++: Add test cases for std::string methods.
2020-08-17 17:31:26 +01:00
Geoffrey White
789e781eb7
C++: Add prototypes for std::string methods to test.
2020-08-17 16:01:25 +01:00
Geoffrey White
a839f1fae5
C++: Split off stringstream.cpp.
2020-08-13 18:17:24 +01:00
Geoffrey White
49d2f66ddb
C++: Tidy up sources and sinks.
2020-08-13 18:08:58 +01:00
Geoffrey White
f343eb9143
C++: Split stl.cpp into string.cpp and vector.cpp.
2020-08-13 18:04:46 +01:00
Geoffrey White
5d7f771933
C++: Split off stl.h from stl.cpp.
2020-08-13 18:04:45 +01:00
Geoffrey White
7349333006
C++: Taint through char append.
2020-08-13 15:13:47 +01:00
Geoffrey White
3c0e7a709f
C++: Add a test of append with CharT.
2020-08-13 14:52:34 +01:00
Geoffrey White
732a8fa4c9
C++: Add another member function.
2020-08-13 14:52:34 +01:00
Geoffrey White
f62ad75048
C++: Taint through std::string operator+=.
2020-08-11 17:03:02 +01:00
Geoffrey White
cf6f530823
C++: Taint through std::string operator+.
2020-08-11 16:58:55 +01:00
Geoffrey White
a57dfd6b67
C++: Taint through std::string append.
2020-08-11 16:54:39 +01:00
Geoffrey White
f824a893ca
C++: Add test cases for appending strings.
2020-08-11 16:50:52 +01:00
Geoffrey White
030ab4f626
C++: Add string append operators to the test (changes layout).
2020-08-11 16:47:56 +01:00
Jonas Jensen
c8911ab973
C++: Test range-based-for with std::vector too
2020-08-07 12:40:00 +02:00
Jonas Jensen
7cc877cbbb
C++: Taint through RangeBasedForStmt (AST only)
2020-08-06 15:37:41 +02:00
Jonas Jensen
ea0896c78b
Merge pull request #3999 from MathiasVP/mathiasvp/range-based-for-loop-taint-tests
...
C++: Add tests for taint through range-based for loops
2020-08-05 09:11:53 +02:00
Mathias Vorreiter Pedersen
4990d00498
C++: Add taint tests demonstrating lack of taint through range based for loops
2020-07-31 09:57:35 +02:00
Mathias Vorreiter Pedersen
b88ef56cb4
C++: Add basic iterator definition that matches STL
2020-07-31 09:45:32 +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
Mathias Vorreiter Pedersen
c4b97a3a62
C++: Accept more test changes
2020-07-15 16:19:51 +02:00
Jonas Jensen
2fa54552f0
Merge pull request #3914 from geoffw0/cc_followup
...
C++: Repair swap taint tests
2020-07-09 15:54:40 +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
Geoffrey White
bc7c83a5d6
C++: Add taint test cases confirming that constructor definitions do no need to be present.
2020-07-07 16:01:13 +01:00
Geoffrey White
0caa17ab10
C++: Test the new methods.
2020-07-06 18:47:56 +01:00
Geoffrey White
52e501c41d
C++: Extend the 'swap' taint tests with methods that do not have recognizable signatures (copy/move assignment).
2020-07-06 18:44:37 +01:00
Jonas Jensen
50cd759718
Merge pull request #3733 from geoffw0/models5
...
C++: Constructor and assignment models
2020-07-01 13:58:27 +02:00
Tom Hvitved
de3dc734ff
C++: Follow-up changes
2020-06-30 17:44:16 +02:00
Mathias Vorreiter Pedersen
9c0f877172
C++: Keep old instruction -> instruction flow in simpleInstructionLocalFlowStep. This means we don't have to add general operand -> instruction to the simpleLocalFlowStep relation, which seems to add a 10% performance regression.
2020-06-28 11:28:43 +02:00
Nick Rolfe
133838dbf3
C++: update tests to expect type of this
2020-06-26 14:20:45 +01:00
Geoffrey White
168f9404f0
Merge branch 'master' into models5
2020-06-25 17:42:08 +01:00
Mathias Vorreiter Pedersen
5190c26635
C++: Accept tests.
2020-06-24 18:28:41 +02:00
Jonas Jensen
5a5df4de26
Revert "Merge pull request #3419 from MathiasVP/flat-structs"
...
There was unfortunately a semantic merge conflict between #3419 and
#3587 that caused a performance regression on (at least) OpenJDK.
This reverts commit 982fb38807 , reversing
changes made to b841cacb83 .
2020-06-22 14:09:06 +02:00
Geoffrey White
104298e09a
Merge branch 'master' into models5
2020-06-22 10:59:15 +01:00