Commit Graph

10804 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
83aef6fc16 C++: Write formulas instead of 'non-strictly upper bounded by'. 2023-07-21 14:56:40 +01:00
Mathias Vorreiter Pedersen
108cd7f078 C++: Use more descriptive names for identifiers in 'cpp/invalid-pointer-deref'. 2023-07-21 14:55:45 +01:00
Mathias Vorreiter Pedersen
5270cf6c41 C++: Update documentation based on PR feedback. 2023-07-21 11:09:01 +01:00
Mathias Vorreiter Pedersen
a7ee27ec22 C++: Fix 'begin'/'base' confusion. 2023-07-21 10:20:24 +01:00
Mathias Vorreiter Pedersen
6c3c4c302e Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/InvalidPointerToDereference.qll
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2023-07-21 10:19:04 +01:00
Mathias Vorreiter Pedersen
4075dacd52 Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/AllocationToInvalidPointer.qll 2023-07-21 09:55:23 +01:00
Mathias Vorreiter Pedersen
369cee9ed9 Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/InvalidPointerToDereference.qll
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2023-07-21 09:32:14 +01:00
Jeroen Ketema
4c9c5d8f0c C++: Add IR SSA test case for the ternary operator 2023-07-21 10:22:34 +02:00
github-actions[bot]
c936a920b0 Release preparation for version 2.14.1 2023-07-20 16:32:27 +00:00
Jeroen Ketema
7c429fb924 C++: Remove redundant case from shouldPrintDeclaration
A configuration should always exist, because it does not have a charpred
that could prevent this.
2023-07-20 16:11:17 +02:00
Jeroen Ketema
e76dc4a1f9 C++: Support printing of global and namespace variables in PrintAST 2023-07-20 11:43:55 +02:00
Jeroen Ketema
2a63116fc2 C++: Rename shouldPrintFunction to shouldPrintDeclaration 2023-07-19 16:55:43 +02:00
Mathias Vorreiter Pedersen
922f4d5496 C++: Add more documentation to the 'cpp/invalid-pointer-deref' query. 2023-07-19 14:42:20 +01:00
Anders Schack-Mulligen
a9c76d4175 Merge pull request #13717 from aschackmull/dataflow/neverskipadditionalsteps
Dataflow: Add support for not skipping configuration-specific nodes in big-step
2023-07-19 14:06:54 +02:00
Mathias Vorreiter Pedersen
475a892216 Merge pull request #13760 from MathiasVP/split-invalid-ptr-deref-into-more-files
C++: Split `cpp/invalid-pointer-deref` into more files
2023-07-19 11:36:35 +01:00
Anders Schack-Mulligen
8d365b04c1 C/C++: Adjust expected output. 2023-07-19 11:41:54 +02:00
Anders Schack-Mulligen
e72a0b2f8c Dataflow: Add change notes. 2023-07-19 11:41:15 +02:00
Anders Schack-Mulligen
c01a494ea5 C/C++: Don't force-include XxeFlowStateTransformer steps in XXE.ql. 2023-07-19 11:41:15 +02:00
Anders Schack-Mulligen
ae24d68b5d C/C++/C#/Java/Python/Ruby/Swift: Adjust expected output. 2023-07-19 11:41:15 +02:00
Anders Schack-Mulligen
941aa7ae28 C/C++: Don't force-include default steps in DefaultTaintTrackingImpl. 2023-07-19 11:41:15 +02:00
Anders Schack-Mulligen
95d17045c9 Dataflow: Sync. 2023-07-19 11:41:15 +02:00
Mathias Vorreiter Pedersen
2f48cde2e5 Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/AllocationToInvalidPointer.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2023-07-19 10:28:05 +01:00
Mathias Vorreiter Pedersen
9a8fb0b93a Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/AllocationToInvalidPointer.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2023-07-19 10:27:55 +01:00
Mathias Vorreiter Pedersen
3e1b4d97fe C++: Add QLDoc. 2023-07-18 18:15:25 +01:00
Mathias Vorreiter Pedersen
576f021c25 C++: Fix Code Scanning errors. 2023-07-18 18:15:25 +01:00
Mathias Vorreiter Pedersen
4762e883fc C++: Add inline expectations tests for the invalid-pointer-to-dereference stage of the query. 2023-07-18 18:15:24 +01:00
Mathias Vorreiter Pedersen
a735d18a1b C++: Add inline expectations tests for the allocation-to-invalid-pointer stage of the query. 2023-07-18 18:15:24 +01:00
Mathias Vorreiter Pedersen
5099de5b3d C++: Split the query into 4 files. 2023-07-18 18:15:18 +01:00
Jeroen Ketema
aad094bdd0 C++: Handle FunctionAccesses with qualifiers
Also fix the IR generation for these and add more IR tests involving value
categories.
2023-07-18 16:35:39 +02:00
Mathias Vorreiter Pedersen
a038b389c3 C++: More cleanup. 2023-07-18 14:03:04 +01:00
Mathias Vorreiter Pedersen
d41d2bc29e Merge pull request #13699 from MathiasVP/final-config-to-invalid-pointer-deref
C++: Handle call-contexts mismatches in `cpp/invalid-pointer-deref`
2023-07-18 13:08:21 +01:00
Jeroen Ketema
5d8b203112 Merge pull request #13758 from jketema/val-cat-tests
C++: Add more IR tests
2023-07-18 11:02:27 +02:00
Jeroen Ketema
e2de94b233 C++: Add more IR tests
These show the value categories for more static member calls, and show that
a load occurs when a `volatile` variable is being used in an empty context.
2023-07-18 08:40:54 +02:00
Jeroen Ketema
a426010b06 Merge pull request #13621 from MathiasVP/deprecate-ast-dataflow
C++: Deprecate AST dataflow
2023-07-18 08:13:47 +02:00
Mathias Vorreiter Pedersen
d63ead55dc C++: Remove barrier that's no longer needed. 2023-07-17 15:59:35 +01:00
Mathias Vorreiter Pedersen
11f2681904 Merge pull request #13740 from MathiasVP/unique-entry-point
C++: Exclude invalid functions from new range analysis
2023-07-17 13:32:50 +01:00
Mathias Vorreiter Pedersen
8c21699040 C++: Accept test changes. 2023-07-17 10:51:42 +01:00
Mathias Vorreiter Pedersen
f9db6a9868 C++: Don't do range analysis on malformed IR. 2023-07-17 10:15:01 +01:00
Mathias Vorreiter Pedersen
c13f015b95 C++: No need to select the 'instruction' as the sink when the dataflow node has a better 'toString'. 2023-07-13 14:17:43 +01:00
Mathias Vorreiter Pedersen
5e06043120 C++: Completely get rid of merged path nodes. 2023-07-13 14:15:14 +01:00
Anders Schack-Mulligen
837df2ad37 Dataflow: Sync. 2023-07-13 10:55:39 +02:00
Jeroen Ketema
52ab215560 C++/Swift: Remove none() dataflow configuration predicates
These now have default implementations that are also `none()`
2023-07-12 23:49:29 +02:00
Ed Minnix
63299688d5 Add change notes for default implementations of isBarrier and isAdditionalFlowStep 2023-07-12 15:21:16 -04:00
Ed Minnix
2c0a456855 C++: Add default implementation of StateConfigSig::isAdditionalFlowStep/4 2023-07-12 15:06:24 -04:00
Ed Minnix
c73cd73001 C++: Add default implementation of StateConfigSig::isBarrier/2 2023-07-12 15:06:24 -04:00
Mathias Vorreiter Pedersen
2c2f9b9e17 C++: Fix comment. 2023-07-12 11:59:29 +01:00
Mathias Vorreiter Pedersen
19872d5adf Update cpp/ql/src/experimental/Security/CWE/CWE-193/InvalidPointerDeref.ql
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2023-07-12 11:58:07 +01:00
Mathias Vorreiter Pedersen
3d5414b84c Update cpp/ql/src/experimental/Security/CWE/CWE-193/InvalidPointerDeref.ql
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2023-07-12 11:57:51 +01:00
Mathias Vorreiter Pedersen
63c5684fbb C++: Join with 'invalidPointerToDerefSource' in 'hasFlowPath' to prevent conflation of paths. 2023-07-11 10:24:01 +01:00
Mathias Vorreiter Pedersen
a4c0063ab1 Merge pull request #13679 from MathiasVP/speedup-big-step
DataFlow: Speed up the big step relation
2023-07-11 09:44:17 +01:00