Mathias Vorreiter Pedersen
123e58767b
C++: Share RangeAnalysisUtil with 'cpp/overrun-write'.
2023-08-23 22:42:00 +01:00
Mathias Vorreiter Pedersen
bbce7ee96d
C++: Cache 'getAnInput' since it's now used in several queries.
2023-08-22 13:37:24 +01:00
Mathias Vorreiter Pedersen
c46f9e4572
C++: Don't consider additional loads when reusing dataflow operands.
2023-08-21 12:51:41 +01:00
Mathias Vorreiter Pedersen
50190efe1c
C++: Don't limit instruction and operand reuse to those cases where we have a result for 'isUseImpl'.
2023-08-21 12:51:00 +01:00
Jeroen Ketema
33e8310625
Merge branch 'main' into shared-taint-tracking
2023-08-17 00:14:25 +02:00
Mathias Vorreiter Pedersen
20df63f26d
C++: Respond to review comments.
2023-08-16 12:50:41 +01:00
Mathias Vorreiter Pedersen
5e14b5cca7
C++: 'origDelta' should always be 'odLeft' when deriving subtraction ranges.
2023-08-16 12:10:31 +01:00
Mathias Vorreiter Pedersen
986aa74db7
Merge pull request #13972 from MathiasVP/range-analysis-for-sub-expr
...
C++: Support subtraction in the new range analysis
2023-08-16 11:51:11 +01:00
Mathias Vorreiter Pedersen
109e45e112
C++: Add precise range analysis for subtraction.
2023-08-15 16:12:40 +01:00
Mathias Vorreiter Pedersen
569f3c9b78
C++: Don't do indirect (instruction -> operand) flow when there's a store to the address in between the instruction and the operand.
2023-08-15 11:08:01 +01:00
Mathias Vorreiter Pedersen
f662cceb0b
C++: Use value numbering to better detect whether a write is certain.
2023-08-15 11:07:14 +01:00
Mathias Vorreiter Pedersen
9359bea7b5
Merge pull request #13725 from MathiasVP/fix-barriers-in-invalid-pointer-deref
...
C++: Fix barriers in invalid pointer deref
2023-08-14 14:29:12 +01:00
Mathias Vorreiter Pedersen
e2f671e327
C++: Add more comments.
2023-08-14 10:44:46 +01:00
Mathias Vorreiter Pedersen
df9c756369
C++: Add more comments.
2023-08-14 10:09:27 +01:00
Mathias Vorreiter Pedersen
c265113073
Update cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/InvalidPointerToDereference.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-08-14 09:51:28 +01:00
Mathias Vorreiter Pedersen
2c6bbd8060
C++: Replace 'left' with 'small' and 'right' with 'large' for consistency.
2023-08-13 22:53:41 +01:00
Mathias Vorreiter Pedersen
efe3c0d34a
C++: Rename n' to m.
2023-08-11 15:24:08 +01:00
Mathias Vorreiter Pedersen
f4e6deeee0
C++: Remove 'ValidForStateConfig'.
2023-08-11 13:57:59 +01:00
Henry Mercer
1213eba630
Merge branch 'main' into post-release-prep/codeql-cli-2.14.2
2023-08-11 13:54:55 +01:00
Mathias Vorreiter Pedersen
88d3fcb34b
C++: Fix comment.
2023-08-11 11:50:50 +01:00
Mathias Vorreiter Pedersen
3d5b1986c9
C++: Fix a bug where 'boundedImpl' could give back multiple deltas.
2023-08-11 11:46:28 +01:00
Mathias Vorreiter Pedersen
c0a54e90c9
C++: Fix an inequality that should be strict, but wasn't.
2023-08-11 11:43:55 +01:00
Mathias Vorreiter Pedersen
9aae174942
C++: Move conjunct below comment.
2023-08-10 13:58:07 +01:00
Mathias Vorreiter Pedersen
6d949cbd39
C++: Rename 'getAFlowStateForNode' to 'getASizeAddend'.
2023-08-10 13:19:28 +01:00
Mathias Vorreiter Pedersen
a2b8eb924e
C++: Remove the '+ 1' in 'getAFlowStateForNode'.
2023-08-10 13:17:47 +01:00
Mathias Vorreiter Pedersen
1455e8bd4c
C++: Convert all '<'s to '<='s.
2023-08-10 11:55:57 +01:00
Mathias Vorreiter Pedersen
dcc1429ed8
C++: Get rid of '+ 1' in comments.
2023-08-10 11:38:40 +01:00
Mathias Vorreiter Pedersen
b750016bc1
C++: Fix more comments.
2023-08-10 11:31:30 +01:00
Mathias Vorreiter Pedersen
ce9b018789
C++: Move bounds checkout out of 'operandGuardChecks' for clarity.
2023-08-09 18:37:17 +01:00
Mathias Vorreiter Pedersen
8a490775d8
Merge branch 'main' into fix-barriers-in-invalid-pointer-deref
2023-08-09 14:32:58 +01:00
Mathias Vorreiter Pedersen
acd16afddd
Revert "Merge pull request #13880 from MathiasVP/type-bounds-preparation"
...
This reverts commit 3e9d9e72dc , reversing
changes made to 877ee7047d .
2023-08-09 13:03:06 +01:00
Mathias Vorreiter Pedersen
cb1076c335
Revert "Merge pull request #13783 from MathiasVP/type-bounds-for-new-range-analysis"
...
This reverts commit e9750af89f , reversing
changes made to 37a546253e .
2023-08-09 13:02:54 +01:00
Mathias Vorreiter Pedersen
499b6f35e5
C++: Also key SSA defs and uses by the base address.
2023-08-09 08:44:16 +01:00
Mathias Vorreiter Pedersen
e2feed78a0
C++: Generate SSA variables for all calls instead of just for calls to
...
allocators.
2023-08-09 08:44:10 +01:00
Mathias Vorreiter Pedersen
f4f5d43bcb
C++: indirectReturnOutNodeOperand0 and indirectReturnOutNodeInstruction0
...
were broken and for some reason only handled the case where calls mapped
to raw indirect nodes :wat:. It turns out these predicates weren't
actually needed anyway.
2023-08-08 13:23:10 +01:00
Robert Marsh
eeaa361b12
Merge pull request #13907 from MathiasVP/cleanup-ssa-internals
...
C++: Small cleanup of `SsaInternals`
2023-08-07 13:16:59 -04:00
Mathias Vorreiter Pedersen
60f2e8a676
C++: Fix QLDoc.
2023-08-07 15:55:43 +01:00
Mathias Vorreiter Pedersen
f2f4e1f882
C++: Add more QLDoc.
2023-08-07 15:22:46 +01:00
Mathias Vorreiter Pedersen
e9750af89f
Merge pull request #13783 from MathiasVP/type-bounds-for-new-range-analysis
...
C++: Constant type-bounds in the new range analysis
2023-08-07 15:20:45 +01:00
Mathias Vorreiter Pedersen
291f1a189d
C++: Unify the two branches.
2023-08-07 14:23:35 +01:00
Jeroen Ketema
8b6a7985db
Refactor the traint-tracking library to follow the dataflow library refactoring
2023-08-07 15:23:15 +02:00
Jeroen Ketema
5d2984b7a5
Merge branch 'main' into shared-taint-tracking
2023-08-07 15:22:29 +02:00
Mathias Vorreiter Pedersen
467231e469
Merge pull request #13887 from jketema/float128x
...
C++: Remove support for `_Float128x` which is not actually supported by gcc
2023-08-07 13:42:24 +01:00
Mathias Vorreiter Pedersen
6e6e118d4b
C++: Make the branches more identical.
2023-08-07 13:22:46 +01:00
Tom Hvitved
7ef3adcafd
C++: Adjust to data flow refactor
2023-08-07 11:35:21 +02:00
Mathias Vorreiter Pedersen
33e991b037
C++: Fix QLDoc.
2023-08-06 20:50:19 +01:00
Mathias Vorreiter Pedersen
f0a1742ad6
C++: Fix barriers in 'AllocationToInvalidPointer.qll'.
2023-08-05 21:58:24 +02:00
Mathias Vorreiter Pedersen
7c9d41d3b9
C++: Make 'SizeBarrier' private as promised.
2023-08-05 21:57:57 +02:00
Mathias Vorreiter Pedersen
0f285ccce0
C++: Fix QLDoc.
2023-08-05 21:55:00 +02:00
Mathias Vorreiter Pedersen
c0828a488f
C++: Fix barriers in 'InvalidPointerToDereference.qll'.
2023-08-05 21:55:00 +02:00