Mathias Vorreiter Pedersen
2963dc1cb1
C++: Include phi read nodes in SSA.
...
There's a small fix to the mapping from 'global def -> use'.
Finally, this commit also accepts a test failure related to new missing
types for phi nodes. The fix for that is in the next commit.
2023-03-02 22:48:06 +00:00
Mathias Vorreiter Pedersen
b3f92fcf0f
C++: Add FN caused by missing static local initialization in SSA.
2023-03-02 22:37:52 +00:00
Jeroen Ketema
3014f207f3
C++: Add tests for all dataflow examples that occur in our docs
2023-02-28 14:45:00 +01:00
Mathias Vorreiter Pedersen
d93d22ba3e
C++: Fix FPs in 'cpp/non-constant-format'.
2023-02-28 10:05:05 +00:00
Mathias Vorreiter Pedersen
1e5b235f4b
C++: Accept test changes in 'cpp/non-constant-format'. These are actually FPs.
2023-02-28 10:02:32 +00:00
Mathias Vorreiter Pedersen
04b84320c9
C++: Accept more query-test changes.
2023-02-28 00:06:35 +00:00
Mathias Vorreiter Pedersen
7bb806563f
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into no-taint-indirect-direct-conflation
2023-02-27 17:19:36 +00:00
Mathias Vorreiter Pedersen
2a9133aae0
C++: Accept query-test changes.
2023-02-27 17:15:53 +00:00
Mathias Vorreiter Pedersen
d628905156
C++: Accept more test changes.
2023-02-27 17:13:23 +00:00
Mathias Vorreiter Pedersen
b36d4931f2
C++: Fix test annotation.
2023-02-27 15:47:52 +00:00
Mathias Vorreiter Pedersen
354a12c906
C++: Fix queries. Since there's no longer indirect -> direct flow in
...
taint-tracking we need to make sure the affected sink definitions also
handle indirect flow.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
1db24dd28d
C++: Fix missing types. We now assign the node corresponding to **p
...
an `UnknownType`.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
4e16bb65e3
C++: Accept test changes. Because we now allocate _three_ indirect nodes
...
for a value of type `void*` (i.e., `p`, `*p` and `**p`) we need to decide
on a type for the `**p` value. We will do this in the next commit.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
f6b9ca3da6
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
da4a059388
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
575ac46bf3
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b952f619db
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
9d64c0a023
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
1e4caca23a
C++: Accept query changes. Nothing bad to see here.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
2cb4a554ea
C++: Fix a bug in Expr <-> Node mapping.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
09df318e9e
C++: Also track flow out of indirect sources.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a806569b5f
C++: The next commit is going to track flow out of both direct and indirect sources. This means we'll get a lot of duplication since there'll be flow from indirect source -> indirect sink and direct source -> direct sink (which both map to the same expressions). This commit changes the testing so that we only report a duplication when they're at different locations.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
5a8b900394
C++: Properly track smart pointer wrappers.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
64abf5b163
C++: Add conflation into DefaultTaintTracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b951bf0f8f
C++: Remove conflation from taint-tracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
7437de2909
C++: Fix issue where 'getEnclosingCallable' didn't exist for some globals.
2023-02-27 14:06:13 +00:00
ihsinme
213abc6642
Update DivideByZeroUsingReturnValue.expected
2023-02-19 21:42:48 +03:00
ihsinme
54acbf7676
Update test.cpp
2023-02-19 21:42:14 +03:00
Jeroen Ketema
899f35a59b
Merge pull request #12185 from jketema/test-annotations
...
C++: Update test annotations for use-use dataflow
2023-02-14 15:48:35 +01:00
Jeroen Ketema
9e462866a0
C++: Update test annotations for use-use dataflow
2023-02-14 14:48:08 +01:00
Mathias Vorreiter Pedersen
7a81f06e84
C++: Accept test changes.
2023-02-14 09:01:51 +00:00
Mathias Vorreiter Pedersen
748a345e7f
C++: Add a test to reveal missing or spurious types on dataflow nodes.
2023-02-14 08:58:29 +00:00
Jeroen Ketema
996eb6c63c
C++: Fix Ql-for-QL warnings
2023-02-13 09:22:31 +01:00
Mathias Vorreiter Pedersen
378484ec01
Merge pull request #12149 from MathiasVP/fewer-flowthroughs
...
C++: Fix spurious flow-through
2023-02-10 18:45:46 +00:00
Jeroen Ketema
7bd28183ba
Merge pull request #12151 from jketema/remove-experimental-dataflow
...
C++: Remove experimental copy of the use-use IR dataflow library
2023-02-10 18:08:14 +01:00
Mathias Vorreiter Pedersen
168202dbf7
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-02-10 16:36:40 +00:00
Jeroen Ketema
5f33827eca
C++: Update test results
2023-02-10 17:10:52 +01:00
Mathias Vorreiter Pedersen
9a8b3bad31
C++: Respond to PR reviews.
2023-02-10 13:56:19 +00:00
Jeroen Ketema
ecdeb9a970
C++: Revert semmle.code.cpp.dataflow to its old state
...
While here make sure all queries and tests use IR dataflow when appropriate.
2023-02-10 14:21:44 +01:00
Mathias Vorreiter Pedersen
5bd7589109
C++: Fix spurious flow though and accept test changes.
2023-02-10 12:42:40 +00:00
Mathias Vorreiter Pedersen
faf9fd6253
C++: Add a testcase (and a new test) to test flow through functions.
2023-02-10 12:40:29 +00:00
Jeroen Ketema
ffbaef8771
C++: Update for test changes
2023-02-10 11:23:19 +01:00
Mathias Vorreiter Pedersen
e1aef3127c
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-10 09:23:37 +00:00
Jeroen Ketema
8f15abc285
Merge pull request #12146 from jketema/global-indirect
...
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 10:21:04 +01:00
Jeroen Ketema
350fb89ebf
C++: Also mention all locations in the AST case
2023-02-10 09:49:24 +01:00
Mathias Vorreiter Pedersen
9aa9187dd7
Merge pull request #12141 from MathiasVP/fix-multiple-out-nodes
...
C++: Deduplicate `OutNode`s
2023-02-10 08:39:16 +00:00
Mathias Vorreiter Pedersen
4719fd5235
C++: Accept more test changes.
2023-02-10 08:38:46 +00:00
Jeroen Ketema
12930c68fb
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 09:29:27 +01:00
Mathias Vorreiter Pedersen
6b851d0529
C++: Fix an inconsistency with too many out nodes.
2023-02-09 16:55:19 +00:00
Mathias Vorreiter Pedersen
7439de37a3
C++: Add a new test that demonstrates multiple out nodes.
2023-02-09 16:23:32 +00:00