Commit Graph

1602 Commits

Author SHA1 Message Date
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