Commit Graph

5494 Commits

Author SHA1 Message Date
Jeroen Ketema
c3a7f98b2f Merge branch 'main' into fix-fp-in-invalid-deref-2 2023-05-10 11:31:10 +02:00
Mathias Vorreiter Pedersen
720586c437 Merge pull request #13059 from MathiasVP/remove-self-edges
C++: Remove self edges
2023-05-10 09:04:08 +01:00
Mathias Vorreiter Pedersen
363514e4ca C++: Expand heuristic to catch more sources. 2023-05-10 08:27:29 +01:00
Mathias Vorreiter Pedersen
9da7c9f696 C++: Use heuristic allocation in 'cpp/overrun-write'. 2023-05-10 08:22:56 +01:00
Mathias Vorreiter Pedersen
023b8e4f15 C++: Add a testcase that needs heuristic allocation. 2023-05-10 08:21:21 +01:00
Kasper Svendsen
c46898cb75 C++: Make implicit this receivers explicit 2023-05-09 15:35:54 +02:00
Mathias Vorreiter Pedersen
89bf335900 C++: Accept test changes. 2023-05-05 16:44:41 +01:00
Mathias Vorreiter Pedersen
b43702451f C++: Remove self edges from post-update SSA. 2023-05-05 15:47:00 +01:00
Mathias Vorreiter Pedersen
4048915c8c C++: Remove self edges from non-post-update SSA. 2023-05-05 15:45:44 +01:00
Mathias Vorreiter Pedersen
c0b3a1896b C++: No phi self-edges. 2023-05-05 12:16:52 +01:00
Mathias Vorreiter Pedersen
cad02441f9 Merge branch 'main' into overrun-write-only-one-alert 2023-05-05 10:14:20 +01:00
Mathias Vorreiter Pedersen
09ba9a74ce Merge pull request #12959 from MathiasVP/identity-consistency-check
DataFlow: Add an "identity-step" consistency check
2023-05-05 10:03:20 +01:00
Robert Marsh
b7653ec92d C++: ignore cast arrays in constant off-by-one query 2023-05-04 16:39:02 -04:00
Robert Marsh
d9665e1678 C++: add case test for constant off-by-one query 2023-05-04 16:34:29 -04:00
Robert Marsh
3abf5d1bd2 C++: stitch paths in array off-by-one query 2023-05-04 16:28:05 -04:00
Mathias Vorreiter Pedersen
27c4408431 Merge pull request #12997 from MathiasVP/sync-product-flow-across-calls
C++: Synchronize product dataflow paths on function entry points
2023-05-04 17:37:48 +01:00
Mathias Vorreiter Pedersen
de08ada0bc C++: Accept test changes. 2023-05-04 17:29:39 +01:00
Mathias Vorreiter Pedersen
a09a8dba95 C++: Add testcase with repeated TP alerts. 2023-05-04 16:59:54 +01:00
Jeroen Ketema
0b2f5609d6 Merge pull request #12982 from rdmarsh2/rdmarsh2/ir-guards-unreached
C++: Handle nonreturning functions in IR generation
2023-05-03 23:20:46 +02:00
Mathias Vorreiter Pedersen
2a4b17608f C++: Accept test changes. 2023-05-03 22:04:11 +01:00
Mathias Vorreiter Pedersen
77001a070b Merge branch 'main' into identity-consistency-check 2023-05-03 22:01:06 +01:00
Mathias Vorreiter Pedersen
5dc9d9a10f C++: Accept consistency changes. 2023-05-03 20:29:17 +01:00
Mathias Vorreiter Pedersen
2af48e2536 Merge pull request #12970 from MathiasVP/barrier-guards-for-indirect-expressions
C++: Barrier guards API for indirect expressions
2023-05-03 18:14:01 +01:00
Mathias Vorreiter Pedersen
0d6fdc674b C++: Also account for setter-related flow and jump steps. 2023-05-03 15:47:12 +01:00
Mathias Vorreiter Pedersen
7fa6894aaf C++: Ensure that product dataflow library enters/leaves through the same call. 2023-05-02 17:13:36 +01:00
Mathias Vorreiter Pedersen
635d290504 C++: Add testcase with FP. 2023-05-02 13:51:16 +01:00
Mathias Vorreiter Pedersen
ab67103e6e Merge pull request #12966 from MathiasVP/dataflow-for-static-vars
C++: Dataflow for static local variables
2023-05-02 11:52:43 +01:00
Robert Marsh
c6e0ee2695 C++: fix duplicated UnreachedInstruction in raw IR 2023-05-01 22:54:37 -04:00
Robert Marsh
c01ee597fa C++: handle calls to noreturn functions 2023-05-01 22:25:12 -04:00
Mathias Vorreiter Pedersen
a7d238f4c4 C++: Accept consistency changes. 2023-04-28 22:41:58 +01:00
Mathias Vorreiter Pedersen
8c8b919dfb C++: Add an API for indirect barrier guards and use it in tests. 2023-04-28 14:09:08 +01:00
Mathias Vorreiter Pedersen
a6adf825bc C++: Add a test that needs indirect barrier guards. 2023-04-28 13:56:31 +01:00
Mathias Vorreiter Pedersen
0f0384cff6 C++: Rewrite the barrier guard tests to be expression based. This is really what we expect people to write in queries. 2023-04-28 13:49:01 +01:00
Mathias Vorreiter Pedersen
43527573d0 C++: Fix back edge detection for phi nodes. 2023-04-28 11:58:56 +01:00
Mathias Vorreiter Pedersen
faf846bd58 C++: Disable flow through nodes that are sources of phi edges' back edges. 2023-04-28 11:36:42 +01:00
Mathias Vorreiter Pedersen
c35cb70c9f C++: Fix inconsistencies. 2023-04-28 10:40:18 +01:00
Mathias Vorreiter Pedersen
fd2f0257b6 C++: Accept query changes. 2023-04-28 10:25:12 +01:00
Mathias Vorreiter Pedersen
24d1cac9d7 C++: Accept test changes. 2023-04-28 10:25:07 +01:00
Mathias Vorreiter Pedersen
3eca60cc40 C++: Add static local testcases. 2023-04-28 10:23:36 +01:00
Mathias Vorreiter Pedersen
205bb76036 Merge pull request #12960 from MathiasVP/fp-invalid-deref-2
C++: Add more FPs for `cpp/invalid-pointer-deref`
2023-04-28 09:47:46 +01:00
Mathias Vorreiter Pedersen
4ef58cd662 C++: Remove unused parameter in test. 2023-04-28 09:30:30 +01:00
Mathias Vorreiter Pedersen
5f4d0892ff Merge pull request #12900 from MathiasVP/ir-translate-constant-static-local-vars-2 2023-04-28 08:46:25 +01:00
Mathias Vorreiter Pedersen
5c23474634 C++: Add FPs for 'cpp/invalid-pointer-deref'. 2023-04-27 18:49:05 +01:00
Mathias Vorreiter Pedersen
e46c53af1d C++: accept test changes. 2023-04-27 17:13:02 +01:00
Mathias Vorreiter Pedersen
1372ee7a44 Update cpp/ql/test/experimental/query-tests/Security/CWE/CWE-193/pointer-deref/test.cpp
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2023-04-27 17:10:44 +01:00
Mathias Vorreiter Pedersen
432c0b508a C++: Add another FP. 2023-04-27 14:50:29 +01:00
Mathias Vorreiter Pedersen
5a8bed0285 C++: Add FP for 'cpp/invalid-pointer-deref'. 2023-04-27 13:13:21 +01:00
Mathias Vorreiter Pedersen
b18e096f7f C++: Fix missing result for 'getFunction' and accept test changes. 2023-04-26 18:01:39 +01:00
Mathias Vorreiter Pedersen
1dcac76992 C++: Add a weird testcase demonstrating invalid IR. 2023-04-26 17:48:02 +01:00
Mathias Vorreiter Pedersen
3d381331e1 C++: Add a test with global variable templates. 2023-04-26 15:00:32 +01:00