Geoffrey White
6b035df660
C++: Repair taint flow from previous.
2020-09-14 10:21:43 +01:00
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
Geoffrey White
b404a339a4
C++: Correct isQualifierObject -> isQualifierAddress.
2020-09-11 16:15:47 +01:00
Mathias Vorreiter Pedersen
2d57abdcbe
Merge branch 'main' into mathiasvp/read-step-without-memory-operands
2020-09-11 12:47:29 +02:00
Geoffrey White
dd53e3fe65
C++: Fix data flow to return value.
2020-09-11 11:14:58 +01:00
Geoffrey White
597757d76f
C++: Model std::stringstream put and write.
2020-09-11 11:14:57 +01:00
Geoffrey White
66a5c38eef
C++: Model std::stringstream constructor.
2020-09-11 11:14:57 +01: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
ff09104089
Merge branch 'main' into mathiasvp/array-field-flow
2020-09-11 09:25:50 +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
Robert Marsh
2e187a51ae
C++: test for interprocedurl iterator flow
2020-09-09 12:45:06 -07:00
Mathias Vorreiter Pedersen
bb9cf72a31
Merge branch 'main' into mathiasvp/make_shared_make_unique-models
2020-09-09 20:51:56 +02:00
Geoffrey White
46a07fa9b2
C++: Model std::stringstream::str.
2020-09-09 18:22:06 +01: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
Robert Marsh
eab1557e27
C++: output iterator flow via FlowVar
2020-09-08 14:09: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
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
Mathias Vorreiter Pedersen
41147d245d
C++: Accept test changes
2020-09-08 14:35:22 +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