Tom Hvitved
|
73370e7282
|
Merge pull request #14100 from hvitved/dataflow/consistency-pack
Data flow: Add consistency checks to shared ql pack
|
2023-08-31 11:47:40 +02:00 |
|
Mathias Vorreiter Pedersen
|
f5509da4bb
|
Merge pull request #14038 from alexet/delete-ir
CPP: Add delete/delete[] calls to the IR.
|
2023-08-31 09:22:34 +01:00 |
|
Mathias Vorreiter Pedersen
|
1159508e4f
|
Merge pull request #14008 from MathiasVP/reuse-even-more-nodes
C++: Reuse even more `DataFlow::Node`s
|
2023-08-30 19:38:52 +01:00 |
|
Alex Eyers-Taylor
|
59a77666a6
|
CPP: Remove uneeded indirection around delete calls in the IR.
|
2023-08-30 16:31:51 +01:00 |
|
Mathias Vorreiter Pedersen
|
261ba8e02d
|
C++: Add QLDoc to 'isDereference'.
|
2023-08-30 14:34:30 +01:00 |
|
Tom Hvitved
|
db304d118b
|
C++: Use data flow consistency checks from shared pack
|
2023-08-30 15:29:41 +02:00 |
|
Mathias Vorreiter Pedersen
|
4ca259b200
|
C++: Non-exact definitions should always be a use.
|
2023-08-30 11:50:57 +01:00 |
|
Mathias Vorreiter Pedersen
|
b092da485d
|
C++: Accept more test changes.
|
2023-08-30 11:26:40 +01:00 |
|
Mathias Vorreiter Pedersen
|
e4a11b86d9
|
Merge branch 'main' into reuse-even-more-nodes
|
2023-08-29 15:08:30 +01:00 |
|
Tom Hvitved
|
8624ff12be
|
Merge pull request #14082 from hvitved/csharp/bump-dependencies
C#: Bump all dependencies
|
2023-08-29 15:52:40 +02:00 |
|
Mathias Vorreiter Pedersen
|
99cc4171f8
|
C++: Fix FPs by making 'isArgumentOfCallable' more robust.
|
2023-08-29 14:12:09 +01:00 |
|
Alex Eyers-Taylor
|
9df5e30034
|
CPP: Add changenote for adding delete to the IR.
|
2023-08-29 12:13:40 +01:00 |
|
Alex Eyers-Taylor
|
24b679d5a0
|
CPP: Fix IR formatting.
|
2023-08-29 11:17:44 +01:00 |
|
Alex Eyers-Taylor
|
8b1b1618c4
|
CPP: Add tests for false positive in memory vulnerability queries.
|
2023-08-29 11:17:44 +01:00 |
|
Alex Eyers-Taylor
|
3b344c3578
|
CPP: Handle cases where the deallocator function is determined dynamically.
|
2023-08-29 11:17:44 +01:00 |
|
Alex Eyers-Taylor
|
689fda43ed
|
CPP: Add delete/delete[] calls to the IR.
|
2023-08-29 11:17:43 +01:00 |
|
Mathias Vorreiter Pedersen
|
d14ad92dbd
|
Merge pull request #14006 from MathiasVP/promote-invalid-pointer-deref-out-of-experimental
C++: Promote `cpp/invalid-pointer-deref` out of experimental
|
2023-08-29 09:38:56 +01:00 |
|
Mathias Vorreiter Pedersen
|
f3a77c6006
|
Merge pull request #14060 from MathiasVP/fix-compare-where-assign-meant-fp
C++: Fix FP in `cpp/compare-where-assign-meant`
|
2023-08-29 09:38:39 +01:00 |
|
Mathias Vorreiter Pedersen
|
dbdb433957
|
Merge pull request #14058 from alexet/delete-or-delete-array
CPP: Add parent class for delete and delete[]
|
2023-08-29 09:38:07 +01:00 |
|
Tom Hvitved
|
bce47fe344
|
C#: Bump all dependencies
|
2023-08-29 09:24:39 +02:00 |
|
Dave Bartolomeo
|
3343b78015
|
Merge pull request #14074 from github/post-release-prep/codeql-cli-2.14.3
Post-release preparation for codeql-cli-2.14.3
|
2023-08-28 13:34:10 -04:00 |
|
github-actions[bot]
|
3eba77421a
|
Post-release preparation for codeql-cli-2.14.3
|
2023-08-28 15:53:49 +00:00 |
|
Mathias Vorreiter Pedersen
|
f65fe34513
|
C++: Add false positive caused by flowing back into a function after doing reverse reads.
|
2023-08-28 14:45:16 +01:00 |
|
Mathias Vorreiter Pedersen
|
bb1712b489
|
Merge branch 'main' into reuse-even-more-nodes
|
2023-08-26 18:08:58 +01:00 |
|
Alexander Eyers-Taylor
|
ea2140dc7d
|
Apply suggestions from code review
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
|
2023-08-25 17:15:08 +01:00 |
|
Alex Eyers-Taylor
|
8badf10a53
|
CPP: Add change notes for changes to DeleteExpr/DeleteArrayExpr
|
2023-08-25 17:13:34 +01:00 |
|
Mathias Vorreiter Pedersen
|
9542646a5d
|
C++: Add change note.
|
2023-08-25 16:45:53 +01:00 |
|
Mathias Vorreiter Pedersen
|
104416cc59
|
C++: Accept test changes.
|
2023-08-25 16:40:06 +01:00 |
|
Mathias Vorreiter Pedersen
|
cb2f7b0f95
|
C++: Exclude results in macro expansions from 'cpp/compare-where-assign-meant'.
|
2023-08-25 16:39:47 +01:00 |
|
Mathias Vorreiter Pedersen
|
759f939edd
|
C++: Add false positive.
|
2023-08-25 16:38:48 +01:00 |
|
Alex Eyers-Taylor
|
d699201ad0
|
CPP: Add a test demonstating when a deallocator call exists.
|
2023-08-25 15:45:50 +01:00 |
|
Alex Eyers-Taylor
|
027ed5e909
|
CPP: Docs improvements to DeleteOrDeleteArrayExpr
|
2023-08-25 15:45:50 +01:00 |
|
Alex Eyers-Taylor
|
417b9c9a32
|
CPP: Use DeleteOrDeleteArrayExpr in another place.
|
2023-08-25 15:45:50 +01:00 |
|
Alex Eyers-Taylor
|
a3711e1df0
|
CPP: Replace getAllocatorCall with getDeallocator call.
|
2023-08-25 15:45:50 +01:00 |
|
Mathias Vorreiter Pedersen
|
b948ed9045
|
C++: Accept test changes and add a few non-field flow tests to make up for the fact that we're no longer using field flow in the query.
|
2023-08-25 15:18:15 +01:00 |
|
Mathias Vorreiter Pedersen
|
89b91ec5c8
|
C++: Disable field flow from the 'cpp/invalid-pointer-deref' query.
|
2023-08-25 15:01:37 +01:00 |
|
Mathias Vorreiter Pedersen
|
c3cf48b38a
|
C++: Add a 'fieldFlowBranchLimit' override to the product flow library.
|
2023-08-25 14:58:56 +01:00 |
|
Alex Eyers-Taylor
|
04f8ed6af0
|
CPP: Simplify code using DeleteOrDeleteArrayExpr
|
2023-08-25 13:57:16 +01:00 |
|
Alex Eyers-Taylor
|
c43ba456e5
|
CPP: Remove old DeleteOrDeleteArrayExpr from a query.
|
2023-08-25 13:57:16 +01:00 |
|
Alex Eyers-Taylor
|
4ca98bd6fd
|
CPP: Add parent class for delete and delete[]
|
2023-08-25 13:57:16 +01:00 |
|
Alex Eyers-Taylor
|
1afcf8c8a8
|
Add changenotes.
|
2023-08-25 13:05:10 +01:00 |
|
Alex Eyers-Taylor
|
9f8fbf8a1a
|
CPP: Update tests for argv change
|
2023-08-25 13:05:10 +01:00 |
|
Alex Eyers-Taylor
|
45ddb4832c
|
CPP: Make wordexp take an indirect argument.
|
2023-08-25 13:05:10 +01:00 |
|
Alex Eyers-Taylor
|
a2f2b6c33f
|
CPP:Only consider **argv as tainted.
|
2023-08-25 13:05:10 +01:00 |
|
Mathias Vorreiter Pedersen
|
9c5d7350dc
|
C++: Add a small amount of pruning to 'SizeBarrierConfig'.
|
2023-08-25 10:25:28 +01:00 |
|
Mathias Vorreiter Pedersen
|
ded06a77d0
|
C++: More pruning.
|
2023-08-25 10:22:55 +01:00 |
|
Mathias Vorreiter Pedersen
|
bdad9e197b
|
C++: Fix more joins.
Before:
```
[2023-08-24 15:47:20] Evaluated non-recursive predicate _IRBlock#896e97af::IRBlock::dominates#1#dispred#ff_Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInpu__#antijoin_rhs@94b1847k in 9831ms (size: 70660).
Evaluated relational algebra for predicate _IRBlock#896e97af::IRBlock::dominates#1#dispred#ff_Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInpu__#antijoin_rhs@94b1847k with tuple counts:
1121232 ~0% {4} r1 = JOIN _DataFlowUtil#47741e1f::Cached::simpleLocalFlowStep#2#ff_10#join_rhs_DataFlowUtil#47741e1f::TSsaPhiN__#shared WITH Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInput#::DefinitionExt::definesAt#4#dispred#fffff ON FIRST 1 OUTPUT Rhs.2, Lhs.0, Lhs.1, Lhs.2
265759166 ~2% {4} r2 = JOIN r1 WITH IRBlock#896e97af::IRBlock::dominates#1#dispred#ff ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2
70684 ~5% {3} r3 = JOIN r2 WITH project#DataFlowUtil#47741e1f::Node::hasIndexInBlock#fff ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.0
return r3
[2023-08-24 15:47:29] Evaluated non-recursive predicate DataFlowUtil#47741e1f::SsaPhiNode::getAnInput#1#dispred#fff@b6f296tl in 8943ms (size: 1121232).
Evaluated relational algebra for predicate DataFlowUtil#47741e1f::SsaPhiNode::getAnInput#1#dispred#fff@b6f296tl with tuple counts:
1050572 ~2% {3} r1 = _DataFlowUtil#47741e1f::Cached::simpleLocalFlowStep#2#ff_10#join_rhs_DataFlowUtil#47741e1f::TSsaPhiN__#shared AND NOT _IRBlock#896e97af::IRBlock::dominates#1#dispred#ff_Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInpu__#antijoin_rhs(Lhs.0, Lhs.1, Lhs.2)
1050572 ~3% {3} r2 = SCAN r1 OUTPUT In.1, false, In.2
1121232 ~0% {3} r3 = JOIN _DataFlowUtil#47741e1f::Cached::simpleLocalFlowStep#2#ff_10#join_rhs_DataFlowUtil#47741e1f::TSsaPhiN__#shared WITH Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInput#::DefinitionExt::definesAt#4#dispred#fffff ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Lhs.2
265759166 ~1% {3} r4 = JOIN r3 WITH IRBlock#896e97af::IRBlock::dominates#1#dispred#ff ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1
70684 ~0% {2} r5 = JOIN r4 WITH project#DataFlowUtil#47741e1f::Node::hasIndexInBlock#fff ON FIRST 2 OUTPUT Lhs.2, Lhs.0
70684 ~0% {3} r6 = SCAN r5 OUTPUT In.0, true, In.1
1121256 ~2% {3} r7 = r2 UNION r6
return r7
```
After:
```
Evaluated non-recursive predicate DataFlowUtil#47741e1f::SsaPhiNode::getAnInput#1#dispred#fff@59ab2a2e in 456ms (size: 1117096).
Evaluated relational algebra for predicate DataFlowUtil#47741e1f::SsaPhiNode::getAnInput#1#dispred#fff@59ab2a2e with tuple counts:
384518 ~0% {2} r1 = JOIN DataFlowUtil#47741e1f::TSsaPhiNode#ff WITH Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInput#::DefinitionExt::definesAt#4#dispred#fffff ON FIRST 1 OUTPUT Lhs.1, Rhs.2
1121232 ~0% {3} r2 = JOIN r1 WITH DataFlowUtil#47741e1f::Cached::simpleLocalFlowStep#2#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1
1117447 ~0% {4} r3 = JOIN r2 WITH project#DataFlowUtil#47741e1f::Node::hasIndexInBlock#fff ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1, Lhs.0
70684 ~0% {2} r4 = JOIN r3 WITH IRBlock#896e97af::IRBlock::dominates#1#dispred#ff ON FIRST 2 OUTPUT Lhs.2, Lhs.3
70684 ~0% {3} r5 = SCAN r4 OUTPUT In.0, true, In.1
1117447 ~0% {4} r6 = JOIN r2 WITH project#DataFlowUtil#47741e1f::Node::hasIndexInBlock#fff ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1, Lhs.0
{4} r7 = r6 AND NOT IRBlock#896e97af::IRBlock::dominates#1#dispred#ff(Lhs.0, Lhs.1)
1046763 ~0% {2} r8 = SCAN r7 OUTPUT In.2, In.3
1046763 ~3% {3} r9 = SCAN r8 OUTPUT In.0, false, In.1
1117447 ~2% {3} r10 = r5 UNION r9
return r10
```
|
2023-08-24 15:57:39 +01:00 |
|
Jeroen Ketema
|
da403c1a79
|
Merge pull request #14039 from jketema/non-constant-assign
C++: Omit assign case from `cpp/non-constant-format`
|
2023-08-24 16:54:19 +02:00 |
|
Jeroen Ketema
|
45c56fbce7
|
Update cpp/ql/src/change-notes/2023-08-24-remove-non-constant-assign-sources.md
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
|
2023-08-24 16:17:59 +02:00 |
|
Jeroen Ketema
|
607f729339
|
C++: Add change note
|
2023-08-24 16:11:39 +02:00 |
|