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
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
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
Jeroen Ketema
073d170253
C++: Fix typo in change note
2023-08-07 14:30:35 +02:00
Jeroen Ketema
e795e1c387
C++: Add change note
2023-08-07 14:24:04 +02: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
af07efe14f
C++: Accept test changes.
2023-08-05 21:59:08 +02: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
835b5e349b
C++: Accept test changes.
2023-08-05 21:56:51 +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
Jeroen Ketema
daf6ecd12f
C++: Update dbscheme stats file
2023-08-04 22:07:00 +02:00
Mathias Vorreiter Pedersen
abe3a816ce
Merge pull request #13851 from MathiasVP/sink-without-states
...
DataFlow: Support stateless `isSink` in `StateConfigSig`s
2023-08-04 18:01:42 +02:00
Jeroen Ketema
7b3bdee5ea
C++: Update dbscheme and add upgrade and downgrade scripts
2023-08-04 17:59:03 +02:00
Jeroen Ketema
ea9f49efa1
C++: Remove support for _Float128x which is not actually supported by gcc
2023-08-04 17:23:11 +02:00
Mathias Vorreiter Pedersen
2d832db883
C++: Accept test changes.
2023-08-04 16:12:00 +02:00
Mathias Vorreiter Pedersen
9807c0b0a6
C++: Filter type-based reasons out of MCTV queries.
2023-08-04 16:11:35 +02:00
Mathias Vorreiter Pedersen
b14db86ef9
C++: Let 'hasConstantBound' determine a reason.
2023-08-04 16:09:07 +02:00
Mathias Vorreiter Pedersen
050a563580
C++: Infer a constant upper bound whenever we convert to a 'larger' upper bound (and similarly for lower bounds).
2023-08-04 16:03:09 +02:00
Mathias Vorreiter Pedersen
3e9d9e72dc
Merge pull request #13880 from MathiasVP/type-bounds-preparation
...
C++: Add a type-based `SemReason`.
2023-08-04 14:52:16 +02:00
Mathias Vorreiter Pedersen
98e670f25c
Update cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisStage.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-08-04 14:34:03 +02:00
Mathias Vorreiter Pedersen
121d754be4
Update cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisImpl.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-08-04 14:33:58 +02:00
Mathias Vorreiter Pedersen
86dbb507fd
C++: Add more comments to explain the meaning of 'combineWith'.
2023-08-04 11:20:17 +02:00
Mathias Vorreiter Pedersen
75c333273c
C++: Bind 'impl'. Oops.
2023-08-04 10:58:54 +02:00
Mathias Vorreiter Pedersen
d398c8c5a8
C++: Share some code by introducing a parameterized module to construct reasons.
2023-08-04 10:52:18 +02:00
Jeroen Ketema
d80eff330b
C++: Add test for __declspec attribute on a global variable
2023-08-04 10:35:32 +02:00
Mathias Vorreiter Pedersen
7270b5079b
C++: Add a type-based 'SemReason'.
2023-08-03 15:26:10 +02:00
Mathias Vorreiter Pedersen
9ed8dec87f
Merge pull request #13877 from jketema/constant-doc
...
C++: Improve the QL doc of `isConstant`
2023-08-03 13:41:44 +02:00
Jeroen Ketema
48048d6f38
Merge pull request #13874 from jketema/use-after-free
...
C++: Improve use-after-free example code
2023-08-03 13:21:12 +02:00
Jeroen Ketema
7ff6f09626
C++: Improve the QL doc of isConstant
2023-08-03 12:16:12 +02:00
Jeroen Ketema
0c0720a962
C++: Improve use-after-free example code
...
* Remove the mismatch between `new` and `free` and use `delete` instead
* Make the function `void`, so people copying the code will not forget
to add a `return`.
* Balance out the `...` for omitted code.
2023-08-03 11:06:15 +02:00
Jeroen Ketema
f7923d93f1
C++: Add semantic range analysis test as IR test
...
The range analysis test currently fails with the frontend update, because the
generated IR is incorrect after the update.
2023-08-03 10:13:23 +02:00