Robert Marsh
c38ccaaab6
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-04-08 12:32:35 -07:00
Geoffrey White
d5accc70e1
C++: Add a test similar to issues/44.
2020-04-06 16:47:24 +01:00
Jonas Jensen
16c7a35b1c
Merge pull request #3195 from geoffw0/taintstring
...
C++: Model taint flow through std::string constructor and c_str()
2020-04-03 12:05:07 +02:00
Robert Marsh
a8e191248e
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Merge IR SSA test additions
2020-04-02 15:30:20 -07:00
Geoffrey White
73171682b7
C++: Switch to taint flow as suggested in the old PR.
2020-04-02 19:49:41 +01:00
Geoffrey White
b14b52d0ac
C++: Add models for std::string (as in old PR).
2020-04-02 19:49:41 +01:00
Geoffrey White
69f6790c83
C++: Add a test of taint through std::strings, based on the one in the old PR.
2020-04-02 19:49:31 +01:00
Mathias Vorreiter Pedersen
a273917e51
Merge branch 'master' into init-dynamic-alloc-newexpr
2020-04-02 14:11:03 +02:00
Robert Marsh
a061811939
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Pick up new test for user-defined swap functions
2020-04-01 17:32:55 -07:00
Geoffrey White
7a98919879
C++: Add a non-standard swap to taint tests.
2020-04-01 17:14:38 +01:00
Robert Marsh
25f3f67c4a
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Fixes test conflicts and reveals a bug in parameter handling
2020-03-31 12:54:00 -07:00
Mathias Vorreiter Pedersen
f06ae6e9de
C++: Accept more test output
2020-03-31 19:49:04 +02:00
Mathias Vorreiter Pedersen
688464a00f
C++: Add testcases with new and accept output
2020-03-31 12:22:07 +02:00
Jonas Jensen
531ef64c5d
C++: Fix other copies of the argHasPostUpdate test
2020-03-30 17:45:53 +02:00
Jonas Jensen
dd322be238
C++: Remove noise from argHasPostUpdate check
...
This consistency check seems to have value for AST data flow, but I've
disabled it on the IR for now.
This commit also includes two unrelated changes that seem to fix a
semantic merge conflict.
2020-03-30 15:51:11 +02:00
Tom Hvitved
9fa9c10361
Merge pull request #2921 from aschackmull/dataflow/consistency-checks
...
Java: Add data-flow consistency checks.
2020-03-30 12:47:41 +02:00
Robert Marsh
59a81d8445
C++: merge from master and accept test changes
2020-03-18 13:47:01 -07:00
Geoffrey White
44c66a3b09
C++: Fixup test .expected files after merge.
2020-03-16 15:45:29 +00:00
Geoffrey White
034f7cc948
Merge branch 'master' into model-gets
2020-03-16 15:12:36 +00:00
Anders Schack-Mulligen
85d6b7c2ed
C++: Add tests.
2020-03-11 10:49:21 +01:00
Robert Marsh
bba6b23019
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-03-10 11:12:19 -07:00
Robert Marsh
4333fe7905
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-02-26 13:15:27 -08:00
Geoffrey White
a0e839d3f1
C++: Block duplicate taint results from 'gets' and other functions.
2020-02-24 11:53:22 +00:00
Geoffrey White
e683f6113d
C++: Model 'gets'.
2020-02-24 11:27:35 +00:00
Geoffrey White
8dcd46f9e7
C++: Add a taint test for gets.
2020-02-24 11:25:28 +00:00
Robert Marsh
bed6d2b225
Merge branch 'master' into rdmarsh/cpp/malloc-alias-locations
2020-02-19 16:44:13 -08:00
Geoffrey White
df29143b7e
C++: Fix a test that should be working on the AST dataflow.
2020-02-19 13:02:24 +00:00
Robert Marsh
adfe5f30a1
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-02-18 08:42:27 -08:00
Jonas Jensen
a59c0facee
C++: Accept test changes for IR libs
...
This is for the tests in the ql repo. There are also changed tests in
the internal repo.
2020-02-15 21:12:20 +01:00
Jonas Jensen
e95ebb25a5
C++: Ensure tainted_diff.ql keeps using old lib
...
Without this, the test will compare the IR to itself after we enable it.
2020-02-15 21:10:29 +01:00
Robert Marsh
7f69cdfb56
C++: Dynamic allocations in IR alias analysis
2020-02-07 16:37:36 -08:00
Robert Marsh
05c8610bbc
C++: tests for alias analysis of malloc
2020-02-07 16:35:58 -08:00
Robert Marsh
d1d19a7446
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Update test expectations
2020-02-07 12:24:05 -08:00
Robert Marsh
dac4f0fac0
Merge pull request #2763 from jbj/ir-VariableNode
...
C++: DefaultTaintTracking perf fix for globals
2020-02-06 18:54:14 -05:00
Robert Marsh
692207472a
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-02-06 11:42:30 -08:00
Jonas Jensen
2e883ab4b2
Merge pull request #2760 from geoffw0/defaulttainttest3
...
C++: Emulate old security library's use of predictable more accurately.
2020-02-06 13:47:27 +01:00
Geoffrey White
2dfeafac30
C++: Interaction with another PR.
2020-02-06 10:21:55 +00:00
Geoffrey White
851c1134f3
C++: Add 'strlen' back.
2020-02-06 10:17:37 +00:00
Geoffrey White
860d0aa42f
C++: Remove single argument functions.
2020-02-06 10:17:37 +00:00
Jonas Jensen
a0e2d59c01
C++: Add tests for global-var support
2020-02-05 16:31:13 +01:00
Jonas Jensen
cdfcee3ae9
Merge remote-tracking branch 'upstream/master' into ir-crement-load
...
Conflicts:
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir.expected
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir_unsound.expected
2020-02-05 16:13:21 +01:00
Jonas Jensen
2928f9e5b2
Merge pull request #2703 from rdmarsh2/connect-ir-dataflow-models
...
C++: IR dataflow through modeled functions
2020-02-05 11:28:48 +01:00
Jonas Jensen
c77a921b06
Merge pull request #2695 from rdmarsh2/default-taint-tracking-diff-test
...
C++: add diff tests for DefaultTaintTracking
2020-02-04 20:57:55 +01:00
Robert Marsh
ac2e89317b
C++: autoformat
2020-02-04 10:41:30 -08:00
Robert Marsh
861d5eb86b
C++: update tests after merge
2020-02-04 10:29:52 -08:00
Robert Marsh
785d54ac67
Merge branch 'master' into default-taint-tracking-diff-test
2020-02-04 09:50:05 -08:00
Mathias Vorreiter Pedersen
0276c97b9c
Merge pull request #2755 from jbj/BarrierGuard-SSA
...
C++: Don't use GVN in AST DataFlow BarrierNode
2020-02-04 12:00:12 +01:00
Jonas Jensen
b4385c6e60
C++: Don't use GVN in AST DataFlow BarrierNode
...
It turns out that the evaluator will evaluate the GVN stage even when no
predicate from it is needed after optimization of the subsequent stages.
The GVN library is expensive to evaluate, and it'll become even more
expensive when we switch its implementation to IR.
This PR disables the use of GVN in `DataFlow::BarrierNode` for the AST
data-flow library, which should improve performance when evaluating a
single data-flow query on a snapshot with no cache. Precision decreases
slightly, leading to a new FP in the qltests.
There is no corresponding change for the IR data-flow library since IR
GVN is not very expensive.
2020-02-04 08:40:36 +01:00
Robert Marsh
677f0f090a
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-02-03 13:06:35 -08:00
Robert Marsh
3bfcf0bf46
Merge branch 'master' into connect-ir-dataflow-models
2020-02-03 11:06:45 -08:00