Robert Marsh
|
4f8373f577
|
Merge branch 'main' into rdmarsh2/dataflow-global-vars
|
2022-08-01 14:55:45 -04:00 |
|
Mathias Vorreiter Pedersen
|
e3cb7cf9fe
|
C++: Remove internal 'microsoft' tags from queries.
|
2022-08-01 17:30:23 +01:00 |
|
ihsinme
|
96e220588e
|
Update DangerousUseMbtowc.ql
|
2022-07-31 13:44:50 +03:00 |
|
Jeroen Ketema
|
c02e7a4896
|
C++: Update test for indexing of static template variable template arguments
|
2022-07-31 09:58:29 +02:00 |
|
Jeroen Ketema
|
a27b1ee33a
|
C++: Improve ErrorExpr documentation to match current practise
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
5a59354d73
|
C++: Minor clean up of the builtin operations qldoc
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
bce253920c
|
C++: Fix __builtin_shuffle qldoc
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
afdd21eab7
|
C++: Update DB scheme stats file
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
295ecbb401
|
C++: Add upgrade and downgrade scripts for new builtins
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
1806b8933f
|
C++: Add change note for newly added builtins
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
20b66eaf34
|
C++: Support __builtin_shuffle builtin
While here write gcc instead of GNU, which is more accurate.
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
81e687ea98
|
C++: Support __builtin_bit_cast builtin
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
a85d3f9b7f
|
C++: Support __has_unique_object_representations builtin
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
0c03935437
|
C++: Support __is_aggregate builtin
Fix some whitespace issues while here.
|
2022-07-29 09:08:56 +02:00 |
|
Jeroen Ketema
|
c4283dd23f
|
C++: Support __is_assignable builtin
While here fix the documentation of `__is_trivially_assignable` and
`__is_nothrow_assignable`.
|
2022-07-29 09:08:56 +02:00 |
|
github-actions[bot]
|
e8747d3176
|
Post-release preparation for codeql-cli-2.10.2
|
2022-07-28 20:00:09 +00:00 |
|
github-actions[bot]
|
212786ed91
|
Release preparation for version 2.10.2
|
2022-07-28 13:38:35 +00:00 |
|
Jeroen Ketema
|
8cd0a9d245
|
Merge pull request #9735 from jketema/inline-yolo
C++: Remove `pragma[noinline]` from `ResolveGlobalVariable.ql`
|
2022-07-25 11:25:26 +02:00 |
|
Robert Marsh
|
0a35f97074
|
Merge pull request #9872 from jketema/return-join
C++: Fix join-order problem in `cpp/return-stack-allocated-memory`
|
2022-07-22 14:32:10 -04:00 |
|
Jeroen Ketema
|
a9d95a9418
|
C++: Remove pragma[noinline] from ResolveGlobalVariable.ql
|
2022-07-22 17:59:27 +02:00 |
|
Jeroen Ketema
|
23c19311fb
|
Merge pull request #9700 from jketema/resolve-global-variable
C++: Ensure only one `Variable` exists for every global variable
|
2022-07-22 17:57:21 +02:00 |
|
Jeroen Ketema
|
ad8335d6f3
|
C++: Fix join-order problem in cpp/return-stack-allocated-memory
Before on Abseil:
```
Evaluated relational algebra for predicate #select#cpe#12356#fffff@3ffb21o1 with tuple counts:
1235939 ~0% {2} r1 = SCAN functions OUTPUT In.0, In.0
1235939 ~0% {2} r2 = JOIN r1 WITH functions ON FIRST 1 OUTPUT Lhs.1, Lhs.0
33500841 ~0% {2} r3 = JOIN r2 WITH DataFlowUtil::Node::getEnclosingCallable#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
280683 ~3% {3} r4 = JOIN r3 WITH MustFlow::MkLocalPathNode#0227f5a1#fff ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Lhs.0
40970 ~2% {4} r5 = JOIN r4 WITH MustFlow::MustFlowConfiguration::hasFlowPath#dispred#f0820431#fff#cpe#23_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0
40970 ~0% {5} r6 = JOIN r5 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.0
40970 ~1% {5} r7 = JOIN r6 WITH DataFlowUtil::Cached::TInstructionNode#47741e1f#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
40970 ~1% {5} r8 = JOIN r7 WITH project#Instruction::VariableAddressInstruction#class#577b6a83#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4
40970 ~0% {6} r9 = JOIN r8 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
40970 ~2% {7} r10 = JOIN r9 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.1
0 ~0% {6} r11 = JOIN r10 WITH Instruction::Instruction::getEnclosingFunction#dispred#f0820431#3#ff ON FIRST 2 OUTPUT Rhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6
0 ~0% {5} r12 = JOIN r11 WITH functions ON FIRST 1 OUTPUT Lhs.5, Lhs.1, Lhs.2, Lhs.3, Lhs.4
0 ~0% {5} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.3, Lhs.2, Lhs.4, Rhs.1
return r13
```
After:
```
Evaluated relational algebra for predicate #select#cpe#12356#fffff@1dbc97kv with tuple counts:
40970 ~0% {2} r1 = SCAN MustFlow::MustFlowConfiguration::hasFlowPath#dispred#f0820431#fff#cpe#23 OUTPUT In.1, In.0
40970 ~0% {3} r2 = JOIN r1 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
40970 ~7% {4} r3 = JOIN r2 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2
40970 ~2% {4} r4 = JOIN r3 WITH DataFlowUtil::Cached::TInstructionNode#47741e1f#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
40970 ~2% {4} r5 = JOIN r4 WITH project#Instruction::VariableAddressInstruction#class#577b6a83#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
40970 ~0% {5} r6 = JOIN r5 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.1
40970 ~1% {6} r7 = JOIN r6 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
40970 ~0% {6} r8 = JOIN r7 WITH Instruction::Instruction::getEnclosingFunction#dispred#f0820431#3#ff ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2, Lhs.4, Lhs.5
0 ~0% {5} r9 = JOIN r8 WITH DataFlowUtil::Node::getEnclosingCallable#dispred#f0820431#fb ON FIRST 2 OUTPUT Lhs.5, Lhs.2, Lhs.3, Lhs.0, Lhs.4
0 ~0% {5} r10 = JOIN r9 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Lhs.4, Rhs.1
return r10
```
|
2022-07-21 11:27:02 +02:00 |
|
Jeroen Ketema
|
694d6395d5
|
C++: Fix join-order problem in cpp/command-line-injection
Before on Abseil Linux:
```
Evaluated relational algebra for predicate ExecTainted::ExecState#class#91000ffb#fff@41084cm7 with tuple counts:
40879811 ~0% {2} r1 = SCAN DataFlowUtil::Node::getLocation#dispred#f0820431#ff OUTPUT In.1, In.0
40879811 ~0% {2} r2 = JOIN r1 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
7527 ~3% {3} r3 = JOIN r2 WITH ExecTainted::interestingConcatenation#91000ffb#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
7527 ~0% {4} r4 = JOIN r3 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Rhs.1
7527 ~0% {5} r5 = JOIN r4 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Lhs.3, Rhs.1
7527 ~0% {6} r6 = JOIN r5 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0, Lhs.3, Lhs.4
7527 ~0% {3} r7 = JOIN r6 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT ((((((("ExecState (" ++ Rhs.1) ++ " | ") ++ Lhs.4) ++ ", ") ++ Lhs.1) ++ " | ") ++ Lhs.5 ++ ")"), Lhs.3, Lhs.2
return r7
```
After:
```
Evaluated relational algebra for predicate ExecTainted::ExecState#class#91000ffb#fff@1ffe61ps with tuple counts:
7527 ~0% {3} r1 = JOIN ExecTainted::interestingConcatenation#91000ffb#ff WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
7527 ~0% {4} r2 = JOIN r1 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.1
7527 ~1% {5} r3 = JOIN r2 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Lhs.2, Lhs.3
7527 ~0% {5} r4 = JOIN r3 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
7527 ~4% {6} r5 = JOIN r4 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4
7527 ~0% {3} r6 = JOIN r5 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT ((((((("ExecState (" ++ Rhs.1) ++ " | ") ++ Lhs.3) ++ ", ") ++ Lhs.5) ++ " | ") ++ Lhs.4 ++ ")"), Lhs.1, Lhs.2
return r6
```
|
2022-07-20 16:27:47 +02:00 |
|
Erik Krogh Kristensen
|
625e37a0da
|
fix typo
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com>
|
2022-07-14 21:53:21 +02:00 |
|
github-actions[bot]
|
0ee476129a
|
Post-release preparation for codeql-cli-2.10.1
|
2022-07-14 14:38:49 +00:00 |
|
Erik Krogh Kristensen
|
85a652f3d1
|
remove a bunch of repeated words
|
2022-07-14 12:42:48 +02:00 |
|
Asger F
|
dbff20a3d8
|
Update cpp/ql/lib/CHANGELOG.md
|
2022-07-14 12:10:03 +02:00 |
|
Asger F
|
9f184ec122
|
Update cpp/ql/lib/change-notes/released/0.3.1.md
|
2022-07-14 12:09:58 +02:00 |
|
Jeroen Ketema
|
fe1f1bb79d
|
Fix issues with change notes
|
2022-07-14 11:06:14 +02:00 |
|
github-actions[bot]
|
d1aa0d7dd3
|
Release preparation for version 2.10.1
|
2022-07-14 08:56:03 +00:00 |
|
Jeroen Ketema
|
c18428f1a9
|
Merge pull request #9785 from bdrodes/main
C++: Nullness.qll bug fixes
|
2022-07-12 21:43:44 +02:00 |
|
ihsinme
|
e77a989133
|
Update DangerousUseMbtowc.expected
|
2022-07-12 20:22:31 +03:00 |
|
ihsinme
|
98af52fba5
|
Update DangerousUseMbtowc.ql
|
2022-07-12 20:19:59 +03:00 |
|
Geoffrey White
|
f29104ccce
|
C++: Accept test results.
|
2022-07-12 16:49:04 +01:00 |
|
Jeroen Ketema
|
f7c4fa691d
|
Apply suggestions from code review
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
|
2022-07-12 16:59:15 +02:00 |
|
Jeroen Ketema
|
8f9d419441
|
C++: Add change note
|
2022-07-12 15:24:09 +02:00 |
|
Jeroen Ketema
|
e5eabc4e47
|
C++: Slightly tweak nullness test and update test results
|
2022-07-12 15:23:33 +02:00 |
|
Jeroen Ketema
|
d63b0946d9
|
C++: Use ConditionDeclExpr in AnalysedExpr::isDef
|
2022-07-12 15:22:13 +02:00 |
|
Jeroen Ketema
|
2ceb25dc9a
|
C++: Order left and right operands in the logical left to right order
|
2022-07-12 15:21:37 +02:00 |
|
Jeroen Ketema
|
c75599c3da
|
C++: Clarify the "most-specific" part of FunctionCall:getTarget
|
2022-07-12 10:28:19 +02:00 |
|
Ben Rodes
|
a6048dd594
|
Merge branch 'github:main' into main
|
2022-07-11 08:49:13 -04:00 |
|
Jeroen Ketema
|
93a4a32527
|
Merge pull request #9786 from jketema/lossy
C++: LossyFunctionResultCast updates
|
2022-07-11 14:14:33 +02:00 |
|
Robert Marsh
|
bbd7e62341
|
Merge pull request #9793 from jketema/nullness
C++: Add tests for `AnalysedExpr::isNullCheck` and `AnalysedExpr::isValidCheck`
|
2022-07-11 08:07:24 -04:00 |
|
Jeroen Ketema
|
6b2154eb8b
|
C++: Add tests for AnalysedExpr::isNullCheck and AnalysedExpr::isValidCheck
|
2022-07-11 11:54:48 +02:00 |
|
REDMOND\brodes
|
4379aa4398
|
Adding Initializer in condition as an occurance of isDef
|
2022-07-07 10:32:36 -04:00 |
|
Jeroen Ketema
|
0b471c2007
|
C++: Improve LossyFunctionResultCast join order
Before on wireshark:
```
Tuple counts for #select#ff@eca61bf2:
180100 ~2% {2} r1 = SCAN Type::Type::getUnderlyingType#dispred#f0820431#ff OUTPUT In.1, In.0
84 ~2% {2} r2 = JOIN r1 WITH project#Type::FloatingPointType#class#2e8eb3ef#fffff ON FIRST 1 OUTPUT Lhs.1, Rhs.0
2021 ~0% {2} r3 = JOIN r2 WITH Function::Function::getType#dispred#f0820431#fb_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2437 ~0% {2} r4 = JOIN r3 WITH Call::FunctionCall::getTarget#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
2150 ~0% {2} r5 = r4 AND NOT LossyFunctionResultCast::whiteListWrapped#377b528a#f(Lhs.1)
2150 ~0% {2} r6 = SCAN r5 OUTPUT In.1, In.0
313 ~0% {3} r7 = JOIN r6 WITH exprconv ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
313 ~0% {3} r8 = JOIN r7 WITH Cast::Conversion#class#1f33e835#b ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
148 ~3% {2} r9 = JOIN r8 WITH Expr::Expr::isCompilerGenerated#f0820431#b ON FIRST 1 OUTPUT Lhs.2, Lhs.1
148 ~1% {3} r10 = JOIN r9 WITH Expr::Expr::getActualType#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
21 ~0% {3} r11 = JOIN r10 WITH Type::IntegralType#class#2e8eb3ef#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
21 ~0% {3} r12 = JOIN r11 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
21 ~0% {2} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, ("Return value of type " ++ Lhs.2 ++ " is implicitly converted to " ++ Rhs.1 ++ " here.")
return r13
```
After:
```
Tuple counts for #select#ff@a5a185eg:
20 ~0% {2} r1 = SCAN project#Type::FloatingPointType#class#2e8eb3ef#fffff OUTPUT In.0, In.0
20 ~0% {2} r2 = JOIN r1 WITH project#Type::FloatingPointType#class#2e8eb3ef#fffff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
84 ~2% {2} r3 = JOIN r2 WITH Type::Type::getUnderlyingType#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2021 ~0% {2} r4 = JOIN r3 WITH Function::Function::getType#dispred#f0820431#fb_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2437 ~0% {2} r5 = JOIN r4 WITH Call::FunctionCall::getTarget#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
2150 ~0% {2} r6 = r5 AND NOT LossyFunctionResultCast::whiteListWrapped#377b528a#f(Lhs.1)
2150 ~0% {2} r7 = SCAN r6 OUTPUT In.1, In.0
313 ~0% {3} r8 = JOIN r7 WITH exprconv ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
313 ~0% {3} r9 = JOIN r8 WITH Cast::Conversion#class#1f33e835#b ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
148 ~3% {2} r10 = JOIN r9 WITH Expr::Expr::isCompilerGenerated#f0820431#b ON FIRST 1 OUTPUT Lhs.2, Lhs.1
148 ~1% {3} r11 = JOIN r10 WITH Expr::Expr::getActualType#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
21 ~0% {3} r12 = JOIN r11 WITH Type::IntegralType#class#2e8eb3ef#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
21 ~0% {3} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
21 ~0% {2} r14 = JOIN r13 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, ("Return value of type " ++ Lhs.2 ++ " is implicitly converted to " ++ Rhs.1 ++ " here.")
return r14
```
|
2022-07-06 21:53:12 +02:00 |
|
Jeroen Ketema
|
7d6fb7f91a
|
C++: Rename LossyFunctionResultCast tests to be correctly named
|
2022-07-06 21:52:13 +02:00 |
|
REDMOND\brodes
|
74ff579dbc
|
Fixing logic bug with LogicalAndExpr
|
2022-07-06 15:19:36 -04:00 |
|
ihsinme
|
8967f57bbc
|
Update DangerousUseMbtowc.ql
|
2022-07-04 11:17:12 +03:00 |
|
ihsinme
|
4e28887689
|
Create test3.cpp
|
2022-07-04 11:13:07 +03:00 |
|