Jonas Jensen
021aa647c1
Merge pull request #4142 from MathiasVP/mathiasvp/read-step-without-memory-operands
...
C++: Use IR alias analysis for field flow
2020-09-14 09:37:27 +02:00
Mathias Vorreiter Pedersen
2d57abdcbe
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-11 12:47:29 +02:00
Jonas Jensen
ad11f76ec6
C++: Always normalize bounds after a computation
...
This stops some cases of `-0.0` from propagating through the range
analysis, fixing a false positive on arvidn/libtorrent.
There seems to be no need for a corresponding change in the caller of
`getDefLowerBoundsImpl` since that predicate only contains computations
that cannot introduce negative zero.
2020-09-11 11:59:00 +02:00
Mathias Vorreiter Pedersen
399da6837a
Merge pull request #4227 from jbj/SimpleRangeAnalysis-NotExpr
...
C++: Support `(bool)x` and `!x` in SimpleRangeAnalysis
2020-09-11 08:59:03 +02:00
Mathias Vorreiter Pedersen
bb9cf72a31
Merge branch 'main' into mathiasvp/make_shared_make_unique-models
2020-09-09 20:51:56 +02:00
Mathias Vorreiter Pedersen
ad602b892b
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-09 16:17:23 +02:00
Mathias Vorreiter Pedersen
e91d321d28
Merge pull request #4234 from geoffw0/stringstream
...
C++: Tests and initial models for taint through std::stringstream / std::ostream.
2020-09-09 15:31:46 +02:00
Mathias Vorreiter Pedersen
17867f25a7
C++: Accept more test changes
2020-09-09 15:27:56 +02:00
Jonas Jensen
ceb198f65d
Merge remote-tracking branch 'upstream/main' into SimpleRangeAnalysis-NotExpr
2020-09-09 14:50:00 +02:00
Geoffrey White
d8bb49b9a0
C++: We get a few additional results for DefaultTaintTracking as well.
2020-09-09 13:18:07 +01:00
Mathias Vorreiter Pedersen
8226515138
C++: Add a taint model for std::{shared, unique}_ptr<T>::get
2020-09-09 12:22:29 +02:00
Mathias Vorreiter Pedersen
f025d09bf0
C++: Accept test changes
2020-09-08 19:12:00 +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
Jonas Jensen
ab90f06ddf
C++: Rename Block -> BlockStmt
2020-09-08 08:40:20 +02:00
Geoffrey White
fafd2f0a7c
C++: Add test cases for stringstream / ostream.
2020-09-07 18:27:42 +01: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
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
208b85c7fc
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-04 18:04:15 +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
43d8e83258
Merge branch 'main' into taintbits
2020-09-04 14:26:42 +01:00
Geoffrey White
5d1c2a3689
Merge pull request #4204 from jbj/SimpleRangeAnalysis-NEExpr
...
C++: Support `!= constant` in range analysis
2020-09-04 13:47:59 +01:00
Geoffrey White
6c40e22f45
C++: Support further reverse taint flows on things that return *this.
2020-09-04 09:45:10 +01:00
Geoffrey White
018b0a5abf
C++: Model std::string front, back and push_back.
2020-09-04 09:45:07 +01:00
Geoffrey White
6e734a894f
C++: Additional test cases for std::string.
2020-09-04 09:44:58 +01:00
Jonas Jensen
fbe42fb64c
C++: Support != constant in range analysis
2020-09-04 09:20:23 +02:00
Jonas Jensen
d061b09fe0
C++: Test showing no support for != and !
2020-09-04 09:02:42 +02:00
Mathias Vorreiter Pedersen
b7774b2a82
Merge pull request #4201 from geoffw0/insert
...
C++: Model iterator versions of string and vector methods
2020-09-03 21:45:36 +02:00
Nick Rolfe
b8ae87470d
Merge pull request #4182 from github/igfoo/cfg
...
C++: Remove some remnants of the extractor CFG
2020-09-03 12:22:04 +01:00
Geoffrey White
d4cbb25e09
C++: Model std::string constructors and container constructors that use iterators.
2020-09-03 10:52:27 +01:00
Geoffrey White
1ac0aa169d
C++: Add a few more test cases.
2020-09-03 10:52:26 +01:00
Geoffrey White
95ca4b674d
C++: Add model for std::vector::insert.
2020-09-03 10:52:25 +01:00
Geoffrey White
f61c7ffc1a
C++: Add support for iterator parameters to std::vector::assign.
2020-09-03 10:52:25 +01:00
Geoffrey White
8e9faac363
C++: Add support for std::vector begin and end.
2020-09-03 10:52:24 +01:00
Geoffrey White
4d47eaa08d
C++: Add support for iterator parameters to std::string::assign.
2020-09-03 10:52:24 +01:00
Geoffrey White
98f84646d6
C++: Result changes due to iterators PR, which adds support for std::string begin and end, and iterator parameters to std::string::insert and some similar functions.
2020-09-03 10:52:24 +01:00
Geoffrey White
7917dff843
C++: Add test cases for std::string and std::vector using iterator methods.
2020-09-03 10:52:23 +01:00
Geoffrey White
fcdbe0f512
C++: Add a const conversion constructor to std::iterator in the tests.
2020-09-03 10:52:23 +01:00
Mathias Vorreiter Pedersen
3cbc4cf0b9
C++: Add field to object taint tests
2020-09-02 17:32:46 +02:00
Mathias Vorreiter Pedersen
69c1eadfdc
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-02 14:21:23 +02:00
Jonas Jensen
db45b29806
Merge pull request #4102 from rdmarsh2/rdmarsh2/cpp/input-iterators-1
...
C++: Basic input iterator models
2020-09-02 07:57:35 +02:00
Ian Lynagh
1cba09dde2
C++: Remove some remnants of the extractor CFG
2020-09-01 14:49:36 +01:00
Mathias Vorreiter Pedersen
aa3b268525
Merge pull request #4162 from jbj/ssa-ref-parameters
...
C++: SSA and range analysis for reference parameters
2020-09-01 11:48:41 +02:00
Mathias Vorreiter Pedersen
472363b86e
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-01 11:08:52 +02:00