Commit Graph

9604 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
a77c62473e C++: Reduce code-duplication in 'cpp/overrun-write'. 2023-05-18 13:23:15 +01:00
Mathias Vorreiter Pedersen
8cf25ba421 Merge pull request #13191 from MathiasVP/fix-pointer-pointee-conflation
C++: Fix pointer/pointee conflation
2023-05-18 13:09:10 +01:00
Mathias Vorreiter Pedersen
2e734755fb Merge pull request #13215 from MathiasVP/update-qldoc-on-typemention
C++: Update documentation for `TypeMention`
2023-05-18 10:24:13 +01:00
Mathias Vorreiter Pedersen
a475efbe39 Update cpp/ql/lib/semmle/code/cpp/Type.qll 2023-05-18 09:37:20 +01:00
Mathias Vorreiter Pedersen
f3b6b470f4 C++: Update documentation for 'TypeMention'. 2023-05-18 09:32:31 +01:00
Jeroen Ketema
d1efffe492 Merge branch 'main' into deref-size 2023-05-17 17:13:49 +02:00
Jeroen Ketema
e3aecd3f1f Merge pull request #13200 from jketema/deref-subpath
C++: Implement the `subpaths` query predicate for `cpp/invalid-pointer-deref`
2023-05-17 17:13:28 +02:00
Mathias Vorreiter Pedersen
06d5a7f0ef Merge pull request #13139 from MathiasVP/faster-product-flow
C++: Speedup product dataflow
2023-05-17 13:40:39 +01:00
Jeroen Ketema
8ad11595cb Merge pull request #13199 from jketema/private-prod-flow
C++: Add forgotten `private` specifiers in product flow
2023-05-17 12:33:26 +02:00
Jeroen Ketema
e143002ae5 Merge pull request #13197 from jketema/test-annotation
C++: Add forgotten test annotation for `cpp/invalid-pointer-deref` test
2023-05-17 12:32:58 +02:00
Jeroen Ketema
014eb255bb C++: Update expected test results 2023-05-17 12:09:22 +02:00
Jeroen Ketema
b83aaf9594 C++: Use range analysis-based hasSize predicate in cpp/invalid-pointer-deref
This is copied from `cpp/overrun-write`.
2023-05-17 11:39:41 +02:00
Jeroen Ketema
31ae513f8c C++: Implement the subpaths query predicate for cpp/invalid-pointer-deref 2023-05-17 11:27:37 +02:00
Jeroen Ketema
883ec7a0e9 C++: Add forgotten private specifiers in product flow 2023-05-17 11:24:46 +02:00
Jeroen Ketema
b1c1513a10 C++: Add forgotten test annotation in for cpp/invalid-pointer-deref test 2023-05-17 11:21:09 +02:00
Mathias Vorreiter Pedersen
402212bab9 C++: Accept query test changes. 2023-05-16 18:35:05 +01:00
Mathias Vorreiter Pedersen
a5632a21d1 Merge branch 'main' into precompute-states-in-overrun-write 2023-05-16 18:09:16 +01:00
Mathias Vorreiter Pedersen
c93a051243 C++: Accept test changes. 2023-05-16 17:41:41 +01:00
Mathias Vorreiter Pedersen
150d4f341a C++: Fix looping flow that goes from the output argument node and back into the function argument. 2023-05-16 17:39:59 +01:00
Mathias Vorreiter Pedersen
35e91bafa7 C++: Introduce 'indirect_sink' in dataflow tests. 2023-05-16 17:39:53 +01:00
Mathias Vorreiter Pedersen
c45032844e C++: Add example with conflation in dataflow. 2023-05-16 16:34:20 +01:00
Jeroen Ketema
e8423f858f Merge pull request #13149 from MathiasVP/barrier-out-on-phi-back-edges
C++: Block flow through back-edges in `cpp/overrun-write`
2023-05-16 14:22:55 +02:00
Mathias Vorreiter Pedersen
650e9e1088 C++: Fix Code Scanning error. 2023-05-15 14:05:41 +01:00
Mathias Vorreiter Pedersen
f1c124a3da C++: Share more code between 'ValidState' and 'StringSizeConfig'. 2023-05-15 14:01:17 +01:00
Mathias Vorreiter Pedersen
f31709fb29 C++: Make comment more clear. 2023-05-15 13:36:29 +01:00
Mathias Vorreiter Pedersen
a7712b608a C++: Add more comments. 2023-05-15 11:14:06 +01:00
Mathias Vorreiter Pedersen
e1cc7dcdc1 C++: Tweak join orders. 2023-05-12 16:12:15 +01:00
Jeroen Ketema
eb493a1981 C++: Add FP test case for cpp/invalid-pointer-deref
Also add reduced range analysis test case that seems to expose the underlying
reason for the FP.
2023-05-12 16:25:34 +02:00
Mathias Vorreiter Pedersen
3f01a2157b Revert "C++: Speedup 'isSuccessor'."
This reverts commit 594da1a21a.
2023-05-12 13:41:34 +01:00
Mathias Vorreiter Pedersen
de1f81a4b9 C++: Accept test changes. 2023-05-12 13:01:42 +01:00
Mathias Vorreiter Pedersen
f20a69074a C++: Remove flow through ssa phi back-edges. 2023-05-12 13:01:29 +01:00
Mathias Vorreiter Pedersen
0b7fc3cbf7 C++: Add a FP testcase involving flow through back-edges. 2023-05-12 13:00:39 +01:00
Mathias Vorreiter Pedersen
2458fa0ab3 C++: Push conjunct into 'isSuccessor' and rename it to 'fwdIsSuccessor'. 2023-05-12 12:50:40 +01:00
Mathias Vorreiter Pedersen
594da1a21a C++: Speedup 'isSuccessor'. 2023-05-12 12:05:09 +01:00
Mathias Vorreiter Pedersen
e58b99ddd1 C++: Don't carry the sources around as columns during the main loop of product flow. 2023-05-12 11:58:43 +01:00
Mathias Vorreiter Pedersen
75e36e89de C++: Precompute the set of necessary states. 2023-05-12 10:47:23 +01:00
Mathias Vorreiter Pedersen
f7924bda0d Merge pull request #13099 from MathiasVP/heuristic-allocation-for-overrun-write
C++: Use heuristic allocation functions in `cpp/overrun-write`
2023-05-12 10:15:28 +01:00
Mathias Vorreiter Pedersen
fd6282063e Merge pull request #12971 from MathiasVP/fix-fp-in-invalid-deref-2
C++: Fix more FPs on `cpp/invalid-pointer-deref`
2023-05-11 10:06:01 +01:00
Mathias Vorreiter Pedersen
477722a94a Merge pull request #13101 from MathiasVP/member-predicates-on-CallAllocationExprTarget
C++: Cleanup `CallAllocationExprBase` with module signature members
2023-05-10 16:52:30 +01:00
Kasper Svendsen
8410eb3477 C++: Enable implicit this warnings 2023-05-10 15:15:21 +02:00
Kasper Svendsen
f8b3968b38 C++: Make implicit this receivers explicit 2023-05-10 15:15:21 +02:00
Mathias Vorreiter Pedersen
f05cce8fc2 C++: Add a member predicate to phi nodes for checking if a phi is a read-phi and use it to restrict flow in 'cpp/invalid-pointer-deref'. 2023-05-10 14:10:13 +01:00
Kasper Svendsen
5b45962dff C++: Make implicit this receiver explicit 2023-05-10 12:34:47 +02:00
Jeroen Ketema
c3a7f98b2f Merge branch 'main' into fix-fp-in-invalid-deref-2 2023-05-10 11:31:10 +02:00
Jeroen Ketema
6a33e87c27 Merge pull request #13100 from jketema/order-by-order
C++: Fix the location of order-by in experimental `RangeNode`
2023-05-10 11:08:20 +02:00
Kasper Svendsen
c3191e989b Merge pull request #13078 from kaspersv/kaspersv/explicit-this-receivers-shared3
C#, C++: Make implicit this receivers explicit
2023-05-10 11:07:41 +02:00
Mathias Vorreiter Pedersen
6aa40050bd C++: Use member predicates on parameterized module parameters now that it's available in the language. 2023-05-10 09:24:38 +01: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
Jeroen Ketema
a5c7d09702 C++: Fix the location of order-by in experimental RangeNode 2023-05-10 09:50:10 +02:00
Mathias Vorreiter Pedersen
363514e4ca C++: Expand heuristic to catch more sources. 2023-05-10 08:27:29 +01:00