Mathias Vorreiter Pedersen
|
635d290504
|
C++: Add testcase with FP.
|
2023-05-02 13:51:16 +01:00 |
|
Anders Schack-Mulligen
|
353d5f82a6
|
Merge pull request #12984 from aschackmull/dataflow/instanceof-node
Dataflow: Replace "extends Node" with "instanceof Node".
|
2023-05-02 13:52:33 +02: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 |
|
Anders Schack-Mulligen
|
ca09649679
|
Dataflow: Forward hasLocationInfo.
|
2023-05-02 10:48:32 +02:00 |
|
Mathias Vorreiter Pedersen
|
fbc872cf1d
|
Update cpp/ql/lib/change-notes/2023-04-28-static-local-dataflow.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
|
2023-05-02 09:07:57 +01:00 |
|
Anders Schack-Mulligen
|
5927bb2030
|
Dataflow: Replace "extends Node" with "instanceof Node".
|
2023-05-02 09:48:34 +02:00 |
|
Anders Schack-Mulligen
|
6c8cb0dc5e
|
Merge pull request #12930 from aschackmull/dataflow/split-typedcontent
Dataflow: Refactor access paths to split TypedContent into an explicit pair
|
2023-05-01 14:58:15 +02:00 |
|
Mathias Vorreiter Pedersen
|
a7d238f4c4
|
C++: Accept consistency changes.
|
2023-04-28 22:41:58 +01:00 |
|
Mathias Vorreiter Pedersen
|
2716c73f87
|
C++: Add change note.
|
2023-04-28 10:49:49 +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
|
ee7b137c24
|
C++: Add dataflow for static locals.
|
2023-04-28 10:24:57 +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
|
6c095d8143
|
Merge pull request #12953 from MathiasVP/fp-invalid-deref
C++: Add FP for `cpp/invalid-pointer-deref`
|
2023-04-27 17:29:37 +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 |
|
Anders Schack-Mulligen
|
71ae0909d8
|
Dataflow: Enforce type pruning in all forward stages.
|
2023-04-27 14:55:26 +02:00 |
|
Anders Schack-Mulligen
|
9140cbefc0
|
Dataflow: Sync.
|
2023-04-27 14:55:23 +02:00 |
|
Mathias Vorreiter Pedersen
|
5a8bed0285
|
C++: Add FP for 'cpp/invalid-pointer-deref'.
|
2023-04-27 13:13:21 +01:00 |
|
Mathias Vorreiter Pedersen
|
6bfdbef697
|
C++: Fix implicit 'this'.
|
2023-04-26 18:06:44 +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
|
60aab206b0
|
C++: Join on two columns instead of one.
Before:
```
Evaluated non-recursive predicate TranslatedElement#ea057665::TranslatedElement::getInstructionVariable#1#dispred#fff@146210id in 201548ms (size: 3469729).
Evaluated relational algebra for predicate TranslatedElement#ea057665::TranslatedElement::getInstructionVariable#1#dispred#fff@146210id with tuple counts:
...
1812768 ~3% {3} r65 = JOIN num#InstructionTag#c9183db3::OnlyInstructionTag#f WITH TranslatedExpr#043317a1::TranslatedNonFieldVariableAccess#ff CARTESIAN PRODUCT OUTPUT Rhs.1, Lhs.0, Rhs.0
1812767 ~0% {4} r66 = JOIN r65 WITH Access#8878f617::Access::getTarget#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0
3996407117 ~3% {5} r67 = JOIN r66 WITH TranslatedElement#ea057665::getIRUserVariable#2#fff_102#join_rhs ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2, Rhs.2
1815194 ~0% {3} r68 = JOIN r67 WITH TranslatedExpr#043317a1::getEnclosingDeclaration#1#ff ON FIRST 2 OUTPUT Lhs.3, Lhs.2, Lhs.4
...
```
After:
```
Evaluated non-recursive predicate TranslatedExpr#043317a1::accessHasEnclosingDeclarationAndVariable#3#fff@665ccb8o in 865ms (size: 2769549).
Evaluated relational algebra for predicate TranslatedExpr#043317a1::accessHasEnclosingDeclarationAndVariable#3#fff@665ccb8o with tuple counts:
2769549 ~1% {3} r1 = JOIN Access#8878f617::Access::getTarget#0#dispred#ff WITH TranslatedExpr#043317a1::getEnclosingDeclaration#1#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
return r1
...
Evaluated non-recursive predicate TranslatedElement#ea057665::TranslatedElement::getInstructionVariable#1#dispred#fff@7d4d33to in 805ms (size: 3469729).
Evaluated relational algebra for predicate TranslatedElement#ea057665::TranslatedElement::getInstructionVariable#1#dispred#fff@7d4d33to with tuple counts:
...
1963209 ~0% {2} r34 = JOIN TranslatedElement#ea057665::getIRUserVariable#2#fff WITH TranslatedExpr#043317a1::accessHasEnclosingDeclarationAndVariable#3#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.2
1815194 ~2% {2} r35 = JOIN r34 WITH TranslatedExpr#043317a1::TranslatedNonFieldVariableAccess#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
1815194 ~0% {3} r36 = JOIN r35 WITH num#InstructionTag#c9183db3::OnlyInstructionTag#f CARTESIAN PRODUCT OUTPUT Lhs.1, Rhs.0, Lhs.0
...
```
|
2023-04-26 16:32:43 +01:00 |
|
Mathias Vorreiter Pedersen
|
3d381331e1
|
C++: Add a test with global variable templates.
|
2023-04-26 15:00:32 +01:00 |
|
Anders Schack-Mulligen
|
d681671356
|
Dataflow: Sync.
|
2023-04-26 14:45:07 +02:00 |
|
Mathias Vorreiter Pedersen
|
3f03cc27cd
|
C++: Accept test changes.
|
2023-04-25 17:51:04 +01:00 |
|
Mathias Vorreiter Pedersen
|
648c08bcd9
|
C++: Fix enclosing functions for static locals.
|
2023-04-25 17:51:04 +01:00 |
|
Mathias Vorreiter Pedersen
|
9cc4bfec2a
|
C++: Accept test changes.
|
2023-04-25 17:51:04 +01:00 |
|
Mathias Vorreiter Pedersen
|
d14ee931e1
|
C++: IR translation for non-runtime-initialized static local variables.
|
2023-04-25 17:51:04 +01:00 |
|
Michael Nebel
|
656d8d2451
|
Sync files.
|
2023-04-20 11:29:51 +02:00 |
|
Mathias Vorreiter Pedersen
|
533e1d818b
|
C++: Add some use-after-free FPs.
|
2023-04-19 17:01:55 +01:00 |
|
Jeroen Ketema
|
1a876f7762
|
C++: Update test expectations after extractor changes
|
2023-04-19 14:12:00 +02:00 |
|
Mathias Vorreiter Pedersen
|
9aca2d8533
|
Merge pull request #12861 from MathiasVP/ignore-more-instructions-for-dataflow
C++: Ignore a few more instructions in dataflow
|
2023-04-18 18:17:11 +01:00 |
|
Mathias Vorreiter Pedersen
|
fb1a871777
|
Merge pull request #12855 from MathiasVP/fix-joins-in-use-after-free
C++: Fix bad self-join in `cpp/use-after-free`
|
2023-04-18 17:13:03 +01:00 |
|
Alex Ford
|
924ce250dd
|
Merge pull request #12847 from github/post-release-prep/codeql-cli-2.13.0
Post-release preparation for codeql-cli-2.13.0
|
2023-04-18 14:40:40 +01:00 |
|
Mathias Vorreiter Pedersen
|
6e5f09f7bb
|
C++: Ignore more instructions in dataflow.
|
2023-04-18 13:32:24 +01:00 |
|
Mathias Vorreiter Pedersen
|
61aba4683f
|
C++: Fix bad self-join in 'cpp/use-after-free'.
Before:
```ql
[2023-04-18 09:17:24] Evaluated non-recursive predicate _ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_10#join_rhs_project#Instruction#577b6a83::Initia__#loop_invariant_prefix@ae046923 in 3903ms (size: 130544).
Evaluated relational algebra for predicate _ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_10#join_rhs_project#Instruction#577b6a83::Initia__#loop_invariant_prefix@ae046923 with tuple counts:
533787724 ~0% {2} r1 = JOIN ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_10#join_rhs WITH ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
130544 ~0% {2} r2 = JOIN r1 WITH project#Instruction#577b6a83::InitializeParameterInstruction#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
return r2
```
After:
```ql
[2023-04-18 10:09:34] Evaluated non-recursive predicate _ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_project#Instruction#577b6a83::InitializeParamete__#loop_invariant_prefix@eb90a6fk in 2ms (size: 18380).
Evaluated relational algebra for predicate _ValueNumberingInternal#c9f42560::tvalueNumber#1#ff_project#Instruction#577b6a83::InitializeParamete__#loop_invariant_prefix@eb90a6fk with tuple counts:
18380 ~0% {2} r1 = JOIN ValueNumberingInternal#c9f42560::tvalueNumber#1#ff WITH project#Instruction#577b6a83::InitializeParameterInstruction#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
return r1
```
|
2023-04-18 10:14:45 +01:00 |
|
Tom Hvitved
|
f6d000eb20
|
Merge pull request #12805 from hvitved/remove-queries-xml
Remove all `queries.xml` files
|
2023-04-18 10:52:14 +02:00 |
|
Mathias Vorreiter Pedersen
|
bb8c3de6b2
|
Merge pull request #12599 from rdmarsh2/rdmarsh2/range-analysis-overflow
C++: add overflow detection to new range analysis
|
2023-04-17 20:18:44 +01:00 |
|
Mathias Vorreiter Pedersen
|
d833850850
|
C++: another 'fix test after module rename'.
|
2023-04-17 17:48:22 +01:00 |
|
github-actions[bot]
|
648f0e19ec
|
Post-release preparation for codeql-cli-2.13.0
|
2023-04-17 15:39:24 +00:00 |
|
Robert Marsh
|
2b41aef6a7
|
C++: autoformat
|
2023-04-17 11:36:17 -04:00 |
|
Robert Marsh
|
ea7996f1bb
|
C++: fix test after module rename
|
2023-04-17 11:30:04 -04:00 |
|
Mathias Vorreiter Pedersen
|
d975ceb648
|
Merge pull request #12818 from MathiasVP/dataflow-for-missing-scanf-qery
C++: Use the new dataflow library in `cpp/missing-check-scanf`
|
2023-04-17 14:34:11 +01:00 |
|