From 8a25081a0e89774e22c29413837efd2d70f7bf4c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 10 Jun 2024 15:33:08 +0000 Subject: [PATCH 1/8] Post-release preparation for codeql-cli-2.17.5 --- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index d0aeb2d1a73..959d13909ad 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 1.1.0 +version: 1.1.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index af9857bc0a5..bb0e03fecd5 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.0.1 +version: 1.0.2-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 6396839b918..b841613f7de 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.18 +version: 1.7.19-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index d40e0fec10c..27b5722a633 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.18 +version: 1.7.19-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 95ddca8dcb2..8310b0a0364 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 1.0.1 +version: 1.0.2-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 68af89a0a84..51f40420b0a 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.1 +version: 1.0.2-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index a273b808724..b741fe7758e 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.1 +version: 1.0.2-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index ff1d21fa536..bb1a1bed4cb 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 1.1.0 +version: 1.1.1-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index cb3cffa10e0..99dfc2ca226 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.0.1 +version: 1.0.2-dev groups: - go - queries diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index ae36e9ec60d..d71d079228c 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.1 +version: 1.0.2-dev groups: - java - automodel diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index b77f19494a9..4b32bf26d9b 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 1.1.0 +version: 1.1.1-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index bcf93612a61..b6f54694d77 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.0.1 +version: 1.0.2-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index 2cb356e8408..f1b548cb077 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 1.0.1 +version: 1.0.2-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index a26b4214825..5af8f768f8d 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.0.1 +version: 1.0.2-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 6c7550f44ae..c8cf2ca3cf0 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.1 +version: 1.0.2-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 7b8e0c5a2c5..36d43473f2a 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 1.0.1 +version: 1.0.2-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 7507cf21075..f154187c678 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.0.1 +version: 1.0.2-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 3ee566b3bf4..47292a1a7a4 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 1.0.1 +version: 1.0.2-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 4256e867a37..560b351070f 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.0.1 +version: 1.0.2-dev groups: - ruby - queries diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 29125c8bc8d..5c91e801792 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3012bfb6ac9..8249f5c36a3 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 2c6ff1030da..56043030830 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 1a248774528..14371af418c 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 5f0272005ed..67f2511ccfe 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 76f7e9817c2..1fbe47a363a 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index aec764c7900..5da9290370f 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.1 +version: 1.0.2-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index 41f1b85c7ca..b9bb3259b02 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index e7fa5858cac..69762b52c8e 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index c2c6fbb4dca..f8408ccbf30 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index eec29aa08f5..e2323d042b8 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 530e383268c..9057cdf5fe9 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index fad839e79e7..8e39180d250 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 7cc5480d014..a9ed7a297c0 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.1 +version: 1.0.2-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index e85f2500f26..581d3f22480 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 1.0.1 +version: 1.0.2-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 4f40b35bda9..c6fc8109f38 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.1 +version: 1.0.2-dev groups: - swift - queries From 333df03f648c11530acfba0eb24e0a8f8062fc1a Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 11 Jun 2024 11:53:36 +0100 Subject: [PATCH 2/8] C++: Cache more things. --- .../cpp/ir/dataflow/internal/DataFlowUtil.qll | 461 +---------------- .../cpp/ir/dataflow/internal/ExprNodes.qll | 475 ++++++++++++++++++ 2 files changed, 476 insertions(+), 460 deletions(-) create mode 100644 cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll index b234f8eee69..f798c4dba21 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll @@ -17,6 +17,7 @@ private import SsaInternals as Ssa private import DataFlowImplCommon as DataFlowImplCommon private import codeql.util.Unit private import Node0ToString +import ExprNodes /** * The IR dataflow graph consists of the following nodes: @@ -1296,466 +1297,6 @@ class UninitializedNode extends Node { LocalVariable getLocalVariable() { result = v } } -private module GetConvertedResultExpression { - private import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr - private import semmle.code.cpp.ir.implementation.raw.internal.InstructionTag - - private Operand getAnInitializeDynamicAllocationInstructionAddress() { - result = any(InitializeDynamicAllocationInstruction init).getAllocationAddressOperand() - } - - /** - * Gets the expression that should be returned as the result expression from `instr`. - * - * Note that this predicate may return multiple results in cases where a conversion belongs to a - * different AST element than its operand. - */ - Expr getConvertedResultExpression(Instruction instr, int n) { - // Only fully converted instructions have a result for `asConvertedExpr` - not conversionFlow(unique(Operand op | - // The address operand of a `InitializeDynamicAllocationInstruction` is - // special: we need to handle it during dataflow (since it's - // effectively a store to an indirection), but it doesn't appear in - // source syntax, so dataflow node <-> expression conversion shouldn't - // care about it. - op = getAUse(instr) and not op = getAnInitializeDynamicAllocationInstructionAddress() - | - op - ), _, false, false) and - result = getConvertedResultExpressionImpl(instr) and - n = 0 - or - // If the conversion also has a result then we return multiple results - exists(Operand operand | conversionFlow(operand, instr, false, false) | - n = 1 and - result = getConvertedResultExpressionImpl(operand.getDef()) - or - result = getConvertedResultExpression(operand.getDef(), n - 1) - ) - } - - private Expr getConvertedResultExpressionImpl0(Instruction instr) { - // IR construction inserts an additional cast to a `size_t` on the extent - // of a `new[]` expression. The resulting `ConvertInstruction` doesn't have - // a result for `getConvertedResultExpression`. We remap this here so that - // this `ConvertInstruction` maps to the result of the expression that - // represents the extent. - exists(TranslatedNonConstantAllocationSize tas | - result = tas.getExtent().getExpr() and - instr = tas.getInstruction(AllocationExtentConvertTag()) - ) - or - // There's no instruction that returns `ParenthesisExpr`, but some queries - // expect this - exists(TranslatedTransparentConversion ttc | - result = ttc.getExpr().(ParenthesisExpr) and - instr = ttc.getResult() - ) - or - // Certain expressions generate `CopyValueInstruction`s only when they - // are needed. Examples of this include crement operations and compound - // assignment operations. For example: - // ```cpp - // int x = ... - // int y = x++; - // ``` - // this generate IR like: - // ``` - // r1(glval) = VariableAddress[x] : - // r2(int) = Constant[0] : - // m3(int) = Store[x] : &:r1, r2 - // r4(glval) = VariableAddress[y] : - // r5(glval) = VariableAddress[x] : - // r6(int) = Load[x] : &:r5, m3 - // r7(int) = Constant[1] : - // r8(int) = Add : r6, r7 - // m9(int) = Store[x] : &:r5, r8 - // r11(int) = CopyValue : r6 - // m12(int) = Store[y] : &:r4, r11 - // ``` - // When the `CopyValueInstruction` is not generated there is no instruction - // whose `getConvertedResultExpression` maps back to the expression. When - // such an instruction doesn't exist it means that the old value is not - // needed, and in that case the only value that will propagate forward in - // the program is the value that's been updated. So in those cases we just - // use the result of `node.asDefinition()` as the result of `node.asExpr()`. - exists(TranslatedCoreExpr tco | - tco.getInstruction(_) = instr and - tco.producesExprResult() and - result = asDefinitionImpl0(instr) - ) - } - - private Expr getConvertedResultExpressionImpl(Instruction instr) { - result = getConvertedResultExpressionImpl0(instr) - or - not exists(getConvertedResultExpressionImpl0(instr)) and - result = instr.getConvertedResultExpression() - } - - /** - * Gets the result for `node.asDefinition()` (when `node` is the instruction - * node that wraps `store`) in the cases where `store.getAst()` should not be - * used to define the result of `node.asDefinition()`. - */ - private Expr asDefinitionImpl0(StoreInstruction store) { - // For an expression such as `i += 2` we pretend that the generated - // `StoreInstruction` contains the result of the expression even though - // this isn't totally aligned with the C/C++ standard. - exists(TranslatedAssignOperation tao | - store = tao.getInstruction(AssignmentStoreTag()) and - result = tao.getExpr() - ) - or - // Similarly for `i++` and `++i` we pretend that the generated - // `StoreInstruction` is contains the result of the expression even though - // this isn't totally aligned with the C/C++ standard. - exists(TranslatedCrementOperation tco | - store = tco.getInstruction(CrementStoreTag()) and - result = tco.getExpr() - ) - } - - /** - * Holds if the expression returned by `store.getAst()` should not be - * returned as the result of `node.asDefinition()` when `node` is the - * instruction node that wraps `store`. - */ - private predicate excludeAsDefinitionResult(StoreInstruction store) { - // Exclude the store to the temporary generated by a ternary expression. - exists(TranslatedConditionalExpr tce | - store = tce.getInstruction(ConditionValueFalseStoreTag()) - or - store = tce.getInstruction(ConditionValueTrueStoreTag()) - ) - } - - /** - * Gets the expression that represents the result of `StoreInstruction` for - * dataflow purposes. - * - * For example, consider the following example - * ```cpp - * int x = 42; // 1 - * x = 34; // 2 - * ++x; // 3 - * x++; // 4 - * x += 1; // 5 - * int y = x += 2; // 6 - * ``` - * For (1) the result is `42`. - * For (2) the result is `x = 34`. - * For (3) the result is `++x`. - * For (4) the result is `x++`. - * For (5) the result is `x += 1`. - * For (6) there are two results: - * - For the `StoreInstruction` generated by `x += 2` the result - * is `x += 2` - * - For the `StoreInstruction` generated by `int y = ...` the result - * is also `x += 2` - */ - Expr asDefinitionImpl(StoreInstruction store) { - not exists(asDefinitionImpl0(store)) and - not excludeAsDefinitionResult(store) and - result = store.getAst().(Expr).getUnconverted() - or - result = asDefinitionImpl0(store) - } -} - -private import GetConvertedResultExpression - -/** Holds if `node` is an `OperandNode` that should map `node.asExpr()` to `e`. */ -predicate exprNodeShouldBeOperand(OperandNode node, Expr e, int n) { - not exprNodeShouldBeIndirectOperand(_, e, n) and - exists(Instruction def | - unique( | | getAUse(def)) = node.getOperand() and - e = getConvertedResultExpression(def, n) - ) -} - -/** Holds if `node` should be an `IndirectOperand` that maps `node.asIndirectExpr()` to `e`. */ -private predicate indirectExprNodeShouldBeIndirectOperand( - IndirectOperand node, Expr e, int n, int indirectionIndex -) { - exists(Instruction def | - node.hasOperandAndIndirectionIndex(unique( | | getAUse(def)), indirectionIndex) and - e = getConvertedResultExpression(def, n) - ) -} - -/** Holds if `node` should be an `IndirectOperand` that maps `node.asExpr()` to `e`. */ -private predicate exprNodeShouldBeIndirectOperand(IndirectOperand node, Expr e, int n) { - exists(ArgumentOperand operand | - // When an argument (qualifier or positional) is a prvalue and the - // parameter (qualifier or positional) is a (const) reference, IR - // construction introduces a temporary `IRVariable`. The `VariableAddress` - // instruction has the argument as its `getConvertedResultExpression` - // result. However, the instruction actually represents the _address_ of - // the argument. So to fix this mismatch, we have the indirection of the - // `VariableAddressInstruction` map to the expression. - node.hasOperandAndIndirectionIndex(operand, 1) and - e = getConvertedResultExpression(operand.getDef(), n) and - operand.getDef().(VariableAddressInstruction).getIRVariable() instanceof IRTempVariable - ) -} - -private predicate exprNodeShouldBeIndirectOutNode(IndirectArgumentOutNode node, Expr e, int n) { - exists(CallInstruction call | - call.getStaticCallTarget() instanceof Constructor and - e = getConvertedResultExpression(call, n) and - call.getThisArgumentOperand() = node.getAddressOperand() - ) -} - -/** Holds if `node` should be an instruction node that maps `node.asExpr()` to `e`. */ -predicate exprNodeShouldBeInstruction(Node node, Expr e, int n) { - not exprNodeShouldBeOperand(_, e, n) and - not exprNodeShouldBeIndirectOutNode(_, e, n) and - not exprNodeShouldBeIndirectOperand(_, e, n) and - e = getConvertedResultExpression(node.asInstruction(), n) -} - -/** Holds if `node` should be an `IndirectInstruction` that maps `node.asIndirectExpr()` to `e`. */ -predicate indirectExprNodeShouldBeIndirectInstruction( - IndirectInstruction node, Expr e, int n, int indirectionIndex -) { - not indirectExprNodeShouldBeIndirectOperand(_, e, n, indirectionIndex) and - exists(Instruction instr | - node.hasInstructionAndIndirectionIndex(instr, indirectionIndex) and - e = getConvertedResultExpression(instr, n) - ) -} - -abstract private class ExprNodeBase extends Node { - /** - * Gets the expression corresponding to this node, if any. The returned - * expression may be a `Conversion`. - */ - abstract Expr getConvertedExpr(int n); - - /** Gets the non-conversion expression corresponding to this node, if any. */ - final Expr getExpr(int n) { result = this.getConvertedExpr(n).getUnconverted() } -} - -/** - * Holds if there exists a dataflow node whose `asExpr(n)` should evaluate - * to `e`. - */ -private predicate exprNodeShouldBe(Expr e, int n) { - exprNodeShouldBeInstruction(_, e, n) or - exprNodeShouldBeOperand(_, e, n) or - exprNodeShouldBeIndirectOutNode(_, e, n) or - exprNodeShouldBeIndirectOperand(_, e, n) -} - -private class InstructionExprNode extends ExprNodeBase, InstructionNode { - InstructionExprNode() { - exists(Expr e, int n | - exprNodeShouldBeInstruction(this, e, n) and - not exists(Expr conv | - exprNodeShouldBe(conv, n + 1) and - conv.getUnconverted() = e.getUnconverted() - ) - ) - } - - final override Expr getConvertedExpr(int n) { exprNodeShouldBeInstruction(this, result, n) } -} - -private class OperandExprNode extends ExprNodeBase, OperandNode { - OperandExprNode() { - exists(Expr e, int n | - exprNodeShouldBeOperand(this, e, n) and - not exists(Expr conv | - exprNodeShouldBe(conv, n + 1) and - conv.getUnconverted() = e.getUnconverted() - ) - ) - } - - final override Expr getConvertedExpr(int n) { exprNodeShouldBeOperand(this, result, n) } -} - -abstract private class IndirectExprNodeBase extends Node { - /** - * Gets the expression corresponding to this node, if any. The returned - * expression may be a `Conversion`. - */ - abstract Expr getConvertedExpr(int n, int indirectionIndex); - - /** Gets the non-conversion expression corresponding to this node, if any. */ - final Expr getExpr(int n, int indirectionIndex) { - result = this.getConvertedExpr(n, indirectionIndex).getUnconverted() - } -} - -/** A signature for converting an indirect node to an expression. */ -private signature module IndirectNodeToIndirectExprSig { - /** The indirect node class to be converted to an expression */ - class IndirectNode; - - /** - * Holds if the indirect expression at indirection index `indirectionIndex` - * of `node` is `e`. The integer `n` specifies how many conversions has been - * applied to `node`. - */ - predicate indirectNodeHasIndirectExpr(IndirectNode node, Expr e, int n, int indirectionIndex); -} - -/** - * A module that implements the logic for deciding whether an indirect node - * should be an `IndirectExprNode`. - */ -private module IndirectNodeToIndirectExpr { - import Sig - - /** - * This predicate shifts the indirection index by one when `conv` is a - * `ReferenceDereferenceExpr`. - * - * This is necessary because `ReferenceDereferenceExpr` is a conversion - * in the AST, but appears as a `LoadInstruction` in the IR. - */ - bindingset[e, indirectionIndex] - private predicate adjustForReference( - Expr e, int indirectionIndex, Expr conv, int adjustedIndirectionIndex - ) { - conv.(ReferenceDereferenceExpr).getExpr() = e and - adjustedIndirectionIndex = indirectionIndex - 1 - or - not conv instanceof ReferenceDereferenceExpr and - conv = e and - adjustedIndirectionIndex = indirectionIndex - } - - /** Holds if `node` should be an `IndirectExprNode`. */ - predicate charpred(IndirectNode node) { - exists(Expr e, int n, int indirectionIndex | - indirectNodeHasIndirectExpr(node, e, n, indirectionIndex) and - not exists(Expr conv, int adjustedIndirectionIndex | - adjustForReference(e, indirectionIndex, conv, adjustedIndirectionIndex) and - indirectExprNodeShouldBe(conv, n + 1, adjustedIndirectionIndex) - ) - ) - } -} - -private predicate indirectExprNodeShouldBe(Expr e, int n, int indirectionIndex) { - indirectExprNodeShouldBeIndirectOperand(_, e, n, indirectionIndex) or - indirectExprNodeShouldBeIndirectInstruction(_, e, n, indirectionIndex) -} - -private module IndirectOperandIndirectExprNodeImpl implements IndirectNodeToIndirectExprSig { - class IndirectNode = IndirectOperand; - - predicate indirectNodeHasIndirectExpr = indirectExprNodeShouldBeIndirectOperand/4; -} - -module IndirectOperandToIndirectExpr = - IndirectNodeToIndirectExpr; - -private class IndirectOperandIndirectExprNode extends IndirectExprNodeBase instanceof IndirectOperand -{ - IndirectOperandIndirectExprNode() { IndirectOperandToIndirectExpr::charpred(this) } - - final override Expr getConvertedExpr(int n, int index) { - IndirectOperandToIndirectExpr::indirectNodeHasIndirectExpr(this, result, n, index) - } -} - -private module IndirectInstructionIndirectExprNodeImpl implements IndirectNodeToIndirectExprSig { - class IndirectNode = IndirectInstruction; - - predicate indirectNodeHasIndirectExpr = indirectExprNodeShouldBeIndirectInstruction/4; -} - -module IndirectInstructionToIndirectExpr = - IndirectNodeToIndirectExpr; - -private class IndirectInstructionIndirectExprNode extends IndirectExprNodeBase instanceof IndirectInstruction -{ - IndirectInstructionIndirectExprNode() { IndirectInstructionToIndirectExpr::charpred(this) } - - final override Expr getConvertedExpr(int n, int index) { - IndirectInstructionToIndirectExpr::indirectNodeHasIndirectExpr(this, result, n, index) - } -} - -private class IndirectArgumentOutExprNode extends ExprNodeBase, IndirectArgumentOutNode { - IndirectArgumentOutExprNode() { exprNodeShouldBeIndirectOutNode(this, _, _) } - - final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOutNode(this, result, n) } -} - -private class IndirectOperandExprNode extends ExprNodeBase instanceof IndirectOperand { - IndirectOperandExprNode() { exprNodeShouldBeIndirectOperand(this, _, _) } - - final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOperand(this, result, n) } -} - -/** - * An expression, viewed as a node in a data flow graph. - */ -class ExprNode extends Node instanceof ExprNodeBase { - /** - * INTERNAL: Do not use. - */ - Expr getExpr(int n) { result = super.getExpr(n) } - - /** - * Gets the non-conversion expression corresponding to this node, if any. If - * this node strictly (in the sense of `getConvertedExpr`) corresponds to a - * `Conversion`, then the result is that `Conversion`'s non-`Conversion` base - * expression. - */ - final Expr getExpr() { result = this.getExpr(_) } - - /** - * INTERNAL: Do not use. - */ - Expr getConvertedExpr(int n) { result = super.getConvertedExpr(n) } - - /** - * Gets the expression corresponding to this node, if any. The returned - * expression may be a `Conversion`. - */ - final Expr getConvertedExpr() { result = this.getConvertedExpr(_) } -} - -/** - * An indirect expression, viewed as a node in a data flow graph. - */ -class IndirectExprNode extends Node instanceof IndirectExprNodeBase { - /** - * Gets the non-conversion expression corresponding to this node, if any. If - * this node strictly (in the sense of `getConvertedExpr`) corresponds to a - * `Conversion`, then the result is that `Conversion`'s non-`Conversion` base - * expression. - */ - final Expr getExpr(int indirectionIndex) { result = this.getExpr(_, indirectionIndex) } - - /** - * INTERNAL: Do not use. - */ - Expr getExpr(int n, int indirectionIndex) { result = super.getExpr(n, indirectionIndex) } - - /** - * INTERNAL: Do not use. - */ - Expr getConvertedExpr(int n, int indirectionIndex) { - result = super.getConvertedExpr(n, indirectionIndex) - } - - /** - * Gets the expression corresponding to this node, if any. The returned - * expression may be a `Conversion`. - */ - Expr getConvertedExpr(int indirectionIndex) { - result = this.getConvertedExpr(_, indirectionIndex) - } -} - abstract private class AbstractParameterNode extends Node { /** * Holds if this node is the parameter of `f` at the specified position. The diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll new file mode 100644 index 00000000000..83cb3cf953d --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll @@ -0,0 +1,475 @@ +private import cpp +private import semmle.code.cpp.ir.IR +private import DataFlowUtil +private import DataFlowPrivate +private import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr +private import semmle.code.cpp.ir.implementation.raw.internal.InstructionTag + +cached +private module Cached { + private Operand getAnInitializeDynamicAllocationInstructionAddress() { + result = any(InitializeDynamicAllocationInstruction init).getAllocationAddressOperand() + } + + /** + * Gets the expression that should be returned as the result expression from `instr`. + * + * Note that this predicate may return multiple results in cases where a conversion belongs to a + * different AST element than its operand. + */ + private Expr getConvertedResultExpression(Instruction instr, int n) { + // Only fully converted instructions have a result for `asConvertedExpr` + not conversionFlow(unique(Operand op | + // The address operand of a `InitializeDynamicAllocationInstruction` is + // special: we need to handle it during dataflow (since it's + // effectively a store to an indirection), but it doesn't appear in + // source syntax, so dataflow node <-> expression conversion shouldn't + // care about it. + op = getAUse(instr) and not op = getAnInitializeDynamicAllocationInstructionAddress() + | + op + ), _, false, false) and + result = getConvertedResultExpressionImpl(instr) and + n = 0 + or + // If the conversion also has a result then we return multiple results + exists(Operand operand | conversionFlow(operand, instr, false, false) | + n = 1 and + result = getConvertedResultExpressionImpl(operand.getDef()) + or + result = getConvertedResultExpression(operand.getDef(), n - 1) + ) + } + + private Expr getConvertedResultExpressionImpl0(Instruction instr) { + // IR construction inserts an additional cast to a `size_t` on the extent + // of a `new[]` expression. The resulting `ConvertInstruction` doesn't have + // a result for `getConvertedResultExpression`. We remap this here so that + // this `ConvertInstruction` maps to the result of the expression that + // represents the extent. + exists(TranslatedNonConstantAllocationSize tas | + result = tas.getExtent().getExpr() and + instr = tas.getInstruction(AllocationExtentConvertTag()) + ) + or + // There's no instruction that returns `ParenthesisExpr`, but some queries + // expect this + exists(TranslatedTransparentConversion ttc | + result = ttc.getExpr().(ParenthesisExpr) and + instr = ttc.getResult() + ) + or + // Certain expressions generate `CopyValueInstruction`s only when they + // are needed. Examples of this include crement operations and compound + // assignment operations. For example: + // ```cpp + // int x = ... + // int y = x++; + // ``` + // this generate IR like: + // ``` + // r1(glval) = VariableAddress[x] : + // r2(int) = Constant[0] : + // m3(int) = Store[x] : &:r1, r2 + // r4(glval) = VariableAddress[y] : + // r5(glval) = VariableAddress[x] : + // r6(int) = Load[x] : &:r5, m3 + // r7(int) = Constant[1] : + // r8(int) = Add : r6, r7 + // m9(int) = Store[x] : &:r5, r8 + // r11(int) = CopyValue : r6 + // m12(int) = Store[y] : &:r4, r11 + // ``` + // When the `CopyValueInstruction` is not generated there is no instruction + // whose `getConvertedResultExpression` maps back to the expression. When + // such an instruction doesn't exist it means that the old value is not + // needed, and in that case the only value that will propagate forward in + // the program is the value that's been updated. So in those cases we just + // use the result of `node.asDefinition()` as the result of `node.asExpr()`. + exists(TranslatedCoreExpr tco | + tco.getInstruction(_) = instr and + tco.producesExprResult() and + result = asDefinitionImpl0(instr) + ) + } + + private Expr getConvertedResultExpressionImpl(Instruction instr) { + result = getConvertedResultExpressionImpl0(instr) + or + not exists(getConvertedResultExpressionImpl0(instr)) and + result = instr.getConvertedResultExpression() + } + + /** + * Gets the result for `node.asDefinition()` (when `node` is the instruction + * node that wraps `store`) in the cases where `store.getAst()` should not be + * used to define the result of `node.asDefinition()`. + */ + private Expr asDefinitionImpl0(StoreInstruction store) { + // For an expression such as `i += 2` we pretend that the generated + // `StoreInstruction` contains the result of the expression even though + // this isn't totally aligned with the C/C++ standard. + exists(TranslatedAssignOperation tao | + store = tao.getInstruction(AssignmentStoreTag()) and + result = tao.getExpr() + ) + or + // Similarly for `i++` and `++i` we pretend that the generated + // `StoreInstruction` is contains the result of the expression even though + // this isn't totally aligned with the C/C++ standard. + exists(TranslatedCrementOperation tco | + store = tco.getInstruction(CrementStoreTag()) and + result = tco.getExpr() + ) + } + + /** + * Holds if the expression returned by `store.getAst()` should not be + * returned as the result of `node.asDefinition()` when `node` is the + * instruction node that wraps `store`. + */ + private predicate excludeAsDefinitionResult(StoreInstruction store) { + // Exclude the store to the temporary generated by a ternary expression. + exists(TranslatedConditionalExpr tce | + store = tce.getInstruction(ConditionValueFalseStoreTag()) + or + store = tce.getInstruction(ConditionValueTrueStoreTag()) + ) + } + + /** + * Gets the expression that represents the result of `StoreInstruction` for + * dataflow purposes. + * + * For example, consider the following example + * ```cpp + * int x = 42; // 1 + * x = 34; // 2 + * ++x; // 3 + * x++; // 4 + * x += 1; // 5 + * int y = x += 2; // 6 + * ``` + * For (1) the result is `42`. + * For (2) the result is `x = 34`. + * For (3) the result is `++x`. + * For (4) the result is `x++`. + * For (5) the result is `x += 1`. + * For (6) there are two results: + * - For the `StoreInstruction` generated by `x += 2` the result + * is `x += 2` + * - For the `StoreInstruction` generated by `int y = ...` the result + * is also `x += 2` + */ + cached + Expr asDefinitionImpl(StoreInstruction store) { + not exists(asDefinitionImpl0(store)) and + not excludeAsDefinitionResult(store) and + result = store.getAst().(Expr).getUnconverted() + or + result = asDefinitionImpl0(store) + } + + /** Holds if `node` is an `OperandNode` that should map `node.asExpr()` to `e`. */ + private predicate exprNodeShouldBeOperand(OperandNode node, Expr e, int n) { + not exprNodeShouldBeIndirectOperand(_, e, n) and + exists(Instruction def | + unique( | | getAUse(def)) = node.getOperand() and + e = getConvertedResultExpression(def, n) + ) + } + + /** Holds if `node` should be an `IndirectOperand` that maps `node.asIndirectExpr()` to `e`. */ + private predicate indirectExprNodeShouldBeIndirectOperand( + IndirectOperand node, Expr e, int n, int indirectionIndex + ) { + exists(Instruction def | + node.hasOperandAndIndirectionIndex(unique( | | getAUse(def)), indirectionIndex) and + e = getConvertedResultExpression(def, n) + ) + } + + /** Holds if `node` should be an `IndirectOperand` that maps `node.asExpr()` to `e`. */ + private predicate exprNodeShouldBeIndirectOperand(IndirectOperand node, Expr e, int n) { + exists(ArgumentOperand operand | + // When an argument (qualifier or positional) is a prvalue and the + // parameter (qualifier or positional) is a (const) reference, IR + // construction introduces a temporary `IRVariable`. The `VariableAddress` + // instruction has the argument as its `getConvertedResultExpression` + // result. However, the instruction actually represents the _address_ of + // the argument. So to fix this mismatch, we have the indirection of the + // `VariableAddressInstruction` map to the expression. + node.hasOperandAndIndirectionIndex(operand, 1) and + e = getConvertedResultExpression(operand.getDef(), n) and + operand.getDef().(VariableAddressInstruction).getIRVariable() instanceof IRTempVariable + ) + } + + private predicate exprNodeShouldBeIndirectOutNode(IndirectArgumentOutNode node, Expr e, int n) { + exists(CallInstruction call | + call.getStaticCallTarget() instanceof Constructor and + e = getConvertedResultExpression(call, n) and + call.getThisArgumentOperand() = node.getAddressOperand() + ) + } + + /** Holds if `node` should be an instruction node that maps `node.asExpr()` to `e`. */ + private predicate exprNodeShouldBeInstruction(Node node, Expr e, int n) { + not exprNodeShouldBeOperand(_, e, n) and + not exprNodeShouldBeIndirectOutNode(_, e, n) and + not exprNodeShouldBeIndirectOperand(_, e, n) and + e = getConvertedResultExpression(node.asInstruction(), n) + } + + /** Holds if `node` should be an `IndirectInstruction` that maps `node.asIndirectExpr()` to `e`. */ + private predicate indirectExprNodeShouldBeIndirectInstruction( + IndirectInstruction node, Expr e, int n, int indirectionIndex + ) { + not indirectExprNodeShouldBeIndirectOperand(_, e, n, indirectionIndex) and + exists(Instruction instr | + node.hasInstructionAndIndirectionIndex(instr, indirectionIndex) and + e = getConvertedResultExpression(instr, n) + ) + } + + abstract private class ExprNodeBase extends Node { + /** + * Gets the expression corresponding to this node, if any. The returned + * expression may be a `Conversion`. + */ + abstract Expr getConvertedExpr(int n); + + /** Gets the non-conversion expression corresponding to this node, if any. */ + final Expr getExpr(int n) { result = this.getConvertedExpr(n).getUnconverted() } + } + + /** + * Holds if there exists a dataflow node whose `asExpr(n)` should evaluate + * to `e`. + */ + private predicate exprNodeShouldBe(Expr e, int n) { + exprNodeShouldBeInstruction(_, e, n) or + exprNodeShouldBeOperand(_, e, n) or + exprNodeShouldBeIndirectOutNode(_, e, n) or + exprNodeShouldBeIndirectOperand(_, e, n) + } + + private class InstructionExprNode extends ExprNodeBase, InstructionNode { + InstructionExprNode() { + exists(Expr e, int n | + exprNodeShouldBeInstruction(this, e, n) and + not exists(Expr conv | + exprNodeShouldBe(conv, n + 1) and + conv.getUnconverted() = e.getUnconverted() + ) + ) + } + + final override Expr getConvertedExpr(int n) { exprNodeShouldBeInstruction(this, result, n) } + } + + private class OperandExprNode extends ExprNodeBase, OperandNode { + OperandExprNode() { + exists(Expr e, int n | + exprNodeShouldBeOperand(this, e, n) and + not exists(Expr conv | + exprNodeShouldBe(conv, n + 1) and + conv.getUnconverted() = e.getUnconverted() + ) + ) + } + + final override Expr getConvertedExpr(int n) { exprNodeShouldBeOperand(this, result, n) } + } + + abstract private class IndirectExprNodeBase extends Node { + /** + * Gets the expression corresponding to this node, if any. The returned + * expression may be a `Conversion`. + */ + abstract Expr getConvertedExpr(int n, int indirectionIndex); + + /** Gets the non-conversion expression corresponding to this node, if any. */ + final Expr getExpr(int n, int indirectionIndex) { + result = this.getConvertedExpr(n, indirectionIndex).getUnconverted() + } + } + + /** A signature for converting an indirect node to an expression. */ + private signature module IndirectNodeToIndirectExprSig { + /** The indirect node class to be converted to an expression */ + class IndirectNode; + + /** + * Holds if the indirect expression at indirection index `indirectionIndex` + * of `node` is `e`. The integer `n` specifies how many conversions has been + * applied to `node`. + */ + predicate indirectNodeHasIndirectExpr(IndirectNode node, Expr e, int n, int indirectionIndex); + } + + /** + * A module that implements the logic for deciding whether an indirect node + * should be an `IndirectExprNode`. + */ + private module IndirectNodeToIndirectExpr { + import Sig + + /** + * This predicate shifts the indirection index by one when `conv` is a + * `ReferenceDereferenceExpr`. + * + * This is necessary because `ReferenceDereferenceExpr` is a conversion + * in the AST, but appears as a `LoadInstruction` in the IR. + */ + bindingset[e, indirectionIndex] + private predicate adjustForReference( + Expr e, int indirectionIndex, Expr conv, int adjustedIndirectionIndex + ) { + conv.(ReferenceDereferenceExpr).getExpr() = e and + adjustedIndirectionIndex = indirectionIndex - 1 + or + not conv instanceof ReferenceDereferenceExpr and + conv = e and + adjustedIndirectionIndex = indirectionIndex + } + + /** Holds if `node` should be an `IndirectExprNode`. */ + predicate charpred(IndirectNode node) { + exists(Expr e, int n, int indirectionIndex | + indirectNodeHasIndirectExpr(node, e, n, indirectionIndex) and + not exists(Expr conv, int adjustedIndirectionIndex | + adjustForReference(e, indirectionIndex, conv, adjustedIndirectionIndex) and + indirectExprNodeShouldBe(conv, n + 1, adjustedIndirectionIndex) + ) + ) + } + } + + private predicate indirectExprNodeShouldBe(Expr e, int n, int indirectionIndex) { + indirectExprNodeShouldBeIndirectOperand(_, e, n, indirectionIndex) or + indirectExprNodeShouldBeIndirectInstruction(_, e, n, indirectionIndex) + } + + private module IndirectOperandIndirectExprNodeImpl implements IndirectNodeToIndirectExprSig { + class IndirectNode = IndirectOperand; + + predicate indirectNodeHasIndirectExpr = indirectExprNodeShouldBeIndirectOperand/4; + } + + module IndirectOperandToIndirectExpr = + IndirectNodeToIndirectExpr; + + private class IndirectOperandIndirectExprNode extends IndirectExprNodeBase instanceof IndirectOperand + { + IndirectOperandIndirectExprNode() { IndirectOperandToIndirectExpr::charpred(this) } + + final override Expr getConvertedExpr(int n, int index) { + IndirectOperandToIndirectExpr::indirectNodeHasIndirectExpr(this, result, n, index) + } + } + + private module IndirectInstructionIndirectExprNodeImpl implements IndirectNodeToIndirectExprSig { + class IndirectNode = IndirectInstruction; + + predicate indirectNodeHasIndirectExpr = indirectExprNodeShouldBeIndirectInstruction/4; + } + + module IndirectInstructionToIndirectExpr = + IndirectNodeToIndirectExpr; + + private class IndirectInstructionIndirectExprNode extends IndirectExprNodeBase instanceof IndirectInstruction + { + IndirectInstructionIndirectExprNode() { IndirectInstructionToIndirectExpr::charpred(this) } + + final override Expr getConvertedExpr(int n, int index) { + IndirectInstructionToIndirectExpr::indirectNodeHasIndirectExpr(this, result, n, index) + } + } + + private class IndirectArgumentOutExprNode extends ExprNodeBase, IndirectArgumentOutNode { + IndirectArgumentOutExprNode() { exprNodeShouldBeIndirectOutNode(this, _, _) } + + final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOutNode(this, result, n) } + } + + private class IndirectOperandExprNode extends ExprNodeBase instanceof IndirectOperand { + IndirectOperandExprNode() { exprNodeShouldBeIndirectOperand(this, _, _) } + + final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOperand(this, result, n) } + } + + /** + * An expression, viewed as a node in a data flow graph. + */ + cached + class ExprNode extends Node instanceof ExprNodeBase { + /** + * INTERNAL: Do not use. + */ + cached + Expr getExpr(int n) { result = super.getExpr(n) } + + /** + * Gets the non-conversion expression corresponding to this node, if any. If + * this node strictly (in the sense of `getConvertedExpr`) corresponds to a + * `Conversion`, then the result is that `Conversion`'s non-`Conversion` base + * expression. + */ + cached + final Expr getExpr() { result = this.getExpr(_) } + + /** + * INTERNAL: Do not use. + */ + cached + Expr getConvertedExpr(int n) { result = super.getConvertedExpr(n) } + + /** + * Gets the expression corresponding to this node, if any. The returned + * expression may be a `Conversion`. + */ + cached + final Expr getConvertedExpr() { result = this.getConvertedExpr(_) } + } + + /** + * An indirect expression, viewed as a node in a data flow graph. + */ + cached + class IndirectExprNode extends Node instanceof IndirectExprNodeBase { + /** + * Gets the non-conversion expression corresponding to this node, if any. If + * this node strictly (in the sense of `getConvertedExpr`) corresponds to a + * `Conversion`, then the result is that `Conversion`'s non-`Conversion` base + * expression. + */ + cached + final Expr getExpr(int indirectionIndex) { result = this.getExpr(_, indirectionIndex) } + + /** + * INTERNAL: Do not use. + */ + cached + Expr getExpr(int n, int indirectionIndex) { result = super.getExpr(n, indirectionIndex) } + + /** + * INTERNAL: Do not use. + */ + cached + Expr getConvertedExpr(int n, int indirectionIndex) { + result = super.getConvertedExpr(n, indirectionIndex) + } + + /** + * Gets the expression corresponding to this node, if any. The returned + * expression may be a `Conversion`. + */ + cached + Expr getConvertedExpr(int indirectionIndex) { + result = this.getConvertedExpr(_, indirectionIndex) + } + } +} + +import Cached From 6a6978398a4208dc833eb06feb52aff20f724bcc Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 11 Jun 2024 14:13:23 +0100 Subject: [PATCH 3/8] C++: Add file QLDoc. --- cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll index 83cb3cf953d..8024c7973f6 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll @@ -1,3 +1,7 @@ +/** + * Provides the classes `ExprNode` and `IndirectExprNode` for converting between `Expr` and `Node`. + */ + private import cpp private import semmle.code.cpp.ir.IR private import DataFlowUtil From 5b3403c4b1619d86b1c53ab7e17e4cb14fb852cf Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Wed, 12 Jun 2024 15:24:58 +0100 Subject: [PATCH 4/8] C++: Fix bad join in 'lastRefRedefExt'. --- shared/ssa/codeql/ssa/Ssa.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/ssa/codeql/ssa/Ssa.qll b/shared/ssa/codeql/ssa/Ssa.qll index e08953ebb65..ee397375e65 100644 --- a/shared/ssa/codeql/ssa/Ssa.qll +++ b/shared/ssa/codeql/ssa/Ssa.qll @@ -801,7 +801,7 @@ module Make Input> { input = bb or varBlockReachesExt(def, v, bb, input) and - ssaDefReachesThroughBlock(def, input) + ssaDefReachesThroughBlock(def, pragma[only_bind_into](input)) ) } From 44cca056de03289f6d4a3c96e94bd9d5f6e2017a Mon Sep 17 00:00:00 2001 From: Florin Coada Date: Mon, 17 Jun 2024 12:00:50 +0100 Subject: [PATCH 5/8] add 2.17.5 unified changelog --- .../codeql-changelog/codeql-cli-2.17.4.rst | 153 ++++++++++++++++++ .../codeql-changelog/codeql-cli-2.17.5.rst | 127 +++++++++++++++ .../codeql-changelog/index.rst | 1 + 3 files changed, 281 insertions(+) create mode 100644 docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.5.rst diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst index b8048e5ffd6..0dd710c30bc 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst @@ -27,11 +27,48 @@ Query Packs Breaking Changes ~~~~~~~~~~~~~~~~ +C/C++ +""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +C# +"" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Golang +"""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + Java """" +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. * Removed :code:`local` query variants. The results pertaining to local sources can be found using the non-local counterpart query. As an example, the results previously found by :code:`java/unvalidated-url-redirection-local` can be found by :code:`java/unvalidated-url-redirection`, if the :code:`local` threat model is enabled. The removed queries are :code:`java/path-injection-local`, :code:`java/command-line-injection-local`, :code:`java/xss-local`, :code:`java/sql-injection-local`, :code:`java/http-response-splitting-local`, :code:`java/improper-validation-of-array-construction-local`, :code:`java/improper-validation-of-array-index-local`, :code:`java/tainted-format-string-local`, :code:`java/tainted-arithmetic-local`, :code:`java/unvalidated-url-redirection-local`, :code:`java/xxe-local` and :code:`java/tainted-numeric-cast-local`. +JavaScript/TypeScript +""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Python +"""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Ruby +"""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Swift +""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + Minor Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,6 +105,49 @@ JavaScript/TypeScript * Fixed a bug where very large TypeScript files would cause database creation to crash. Large files over 10MB were already excluded from analysis, but the file size check was not applied to TypeScript files. +Breaking Changes +~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +C# +"" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Golang +"""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Java +"""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +JavaScript/TypeScript +""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Python +"""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Ruby +"""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Swift +""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + Major Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -118,6 +198,79 @@ Python Shared Libraries ---------------- +Breaking Changes +~~~~~~~~~~~~~~~~ + +Dataflow Analysis +""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Control Flow Analysis +""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Regular Expression Analysis +""""""""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Static Single Assignment (SSA) +"""""""""""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Type Trackers +""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Models-as-Data (MaD) +"""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +YAML Data Analysis +"""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +XML Data Analysis +""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +QL Detective Tutorial +""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Database of Common Typographical Errors +""""""""""""""""""""""""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Utility Classes +""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Range Analysis +"""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Threat Models +""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + +Type-flow Analysis +"""""""""""""""""" + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. + Minor Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.5.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.5.rst new file mode 100644 index 00000000000..62ba5fad39a --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.5.rst @@ -0,0 +1,127 @@ +.. _codeql-cli-2.17.5: + +========================== +CodeQL 2.17.5 (2024-06-12) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.17.5 runs a total of 414 security queries when configured with the Default suite (covering 161 CWE). The Extended suite enables an additional 131 queries (covering 35 more CWE). + +CodeQL CLI +---------- + +Breaking Changes +~~~~~~~~~~~~~~~~ + +* All the commands that output SARIF will output a minified version to reduce the size. + The :code:`codeql database analyze`, :code:`codeql database interpret-results`, :code:`codeql generate query-help`, and :code:`codeql bqrs interpret` commands support the option :code:`--no-sarif-minify` to output a pretty printed SARIF file. + +* A number of breaking changes have been made to the :code:`semmle-extractor-options` functionality available for C and C++ CodeQL tests. + + * The Arm, Intel, and CodeWarrior compilers are no longer supported and the + :code:`--armcc`, :code:`--intel`, :code:`--codewarrior` flags are now ignored, as are all the flags that only applied to those compilers. + * The :code:`--threads` and :code:`-main-file-name` options, which did not have any effect on tests, are now ignored. Any specification of these options as part of + :code:`semmle-extractor-options` should be removed. + * Support for :code:`--linker`, all flags that would only invoke the preprocessor, + and the :code:`/clr` flag have been removed, as those flags would never produce any usable test output. + * Support for the :code:`--include_path_environment` flag has been removed. All include paths should directly be specified as part of :code:`semmle-extractor-options`. + * Microsoft C/C++ compiler response files specified via :code:`@some_file_name` are now ignored. Instead, all options should directly be specified as part of + :code:`semmle-extractor-options`. + * Support for Microsoft :code:`#import` preprocessor directive has been removed, as support depends on the availability of the Microsoft C/C++ compiler, and availability cannot be guaranteed on all platforms while executing tests. + * Support for the Microsoft :code:`/EHa`, :code:`/EHs`, :code:`/GX`, :code:`/GZ`, :code:`/Tc`, :code:`/Tp`, and :code:`/Zl` flags, and all :code:`/RTC` flags have been removed. Any specification of these options as part of :code:`semmle-extractor-options` should be removed. + * Support for the Apple-specific :code:`-F` and :code:`-iframework` flags has been removed. + The :code:`-F` flag can still be used by replacing :code:`-F ` by + :code:`--edg -F --edg `. Any occurrence of :code:`-iframework ` should be replaced by :code:`--edg --sys_framework --edg `. + * Support for the :code:`/TC`, :code:`/TP`, and :code:`-x` flags has been removed. Please ensure all C, respectively C++, source files have a :code:`.c`, respectively :code:`.cpp`, + extension. + * The :code:`--build_error_dir`, :code:`-db`, :code:`--edg_base_dir`, :code:`--error_limit`, + :code:`--src_archive`, :code:`--trapfolder`, and :code:`--variadic_macros` flags are now ignored. + + The above changes do not affect the creation of databases through the CodeQL CLI, + or when calling the C/C++ extractor directly with the :code:`--mimic` or :code:`--linker` flags. + Similar functionality continues to be supported in those scenarios, except for CodeWarrior and the :code:`--edg_base_dir`, :code:`--include_path_environment`, :code:`/Tc`, and :code:`/Tp` flags, which were never supported. + +Improvements +~~~~~~~~~~~~ + +* :code:`codeql generate log-summary` now reports completed pipeline runs that are part of an incomplete recursive predicate. + +Miscellaneous +~~~~~~~~~~~~~ + +* The OWASP Java HTML Sanitizer library used by the CodeQL CLI for internal documentation generation commands has been updated to version + \ `20240325.1 `__. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* The :code:`cpp/dangerous-function-overflow` no longer produces a false positive alert when the :code:`gets` function does not have exactly one parameter. + +C# +"" + +* .NET 8 Runtime models have been updated based on the newest version of the model generator. Furthermore, the database sources have been changed slightly to reduce result multiplicity. + +Java +"""" + +* The query :code:`java/spring-disabled-csrf-protection` detects disabling CSRF via :code:`ServerHttpSecurity$CsrfSpec::disable`. +* Added more :code:`java.io.File`\ -related sinks to the path injection query. + +Python +"""""" + +* Added models for :code:`opml` library. + +Language Libraries +------------------ + +Major Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Java +"""" + +* The precision of virtual dispatch has been improved. This increases precision in general for all data flow queries. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* A partial model for the :code:`Boost.Asio` network library has been added. This includes sources, sinks and summaries for certain functions in :code:`Boost.Asio`, such as :code:`read_until` and :code:`write`. + +Java +"""" + +* Support for Eclipse Compiler for Java (ecj) has been fixed to work with (a) runs that don't pass :code:`-noExit` and (b) runs that use post-Java-9 command-line arguments. + +New Features +~~~~~~~~~~~~ + +C/C++ +""""" + +* Data models can now be added with data extensions. In this way source, sink and summary models can be added in extension :code:`.model.yml` files, rather than by writing classes in QL code. New models should be added in the :code:`lib/ext` folder. + +Golang +"""""" + +* When writing models-as-data models, the receiver is now referred to as :code:`Argument[receiver]` rather than :code:`Argument[-1]`. +* Neutral models are now supported. They have no effect except that a manual neutral summary model will stop a generated summary model from having any effect. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index 4ebcbe6c317..efed5f453b7 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here Date: Mon, 17 Jun 2024 12:19:01 +0100 Subject: [PATCH 6/8] quick fix to remove multiple mentions of CodeQL pack upgrade --- .../codeql-changelog/codeql-cli-2.17.4.rst | 153 ------------------ 1 file changed, 153 deletions(-) diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst index 0dd710c30bc..b8048e5ffd6 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst @@ -27,48 +27,11 @@ Query Packs Breaking Changes ~~~~~~~~~~~~~~~~ -C/C++ -""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -C# -"" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Golang -"""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - Java """" -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. * Removed :code:`local` query variants. The results pertaining to local sources can be found using the non-local counterpart query. As an example, the results previously found by :code:`java/unvalidated-url-redirection-local` can be found by :code:`java/unvalidated-url-redirection`, if the :code:`local` threat model is enabled. The removed queries are :code:`java/path-injection-local`, :code:`java/command-line-injection-local`, :code:`java/xss-local`, :code:`java/sql-injection-local`, :code:`java/http-response-splitting-local`, :code:`java/improper-validation-of-array-construction-local`, :code:`java/improper-validation-of-array-index-local`, :code:`java/tainted-format-string-local`, :code:`java/tainted-arithmetic-local`, :code:`java/unvalidated-url-redirection-local`, :code:`java/xxe-local` and :code:`java/tainted-numeric-cast-local`. -JavaScript/TypeScript -""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Python -"""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Ruby -"""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Swift -""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - Minor Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -105,49 +68,6 @@ JavaScript/TypeScript * Fixed a bug where very large TypeScript files would cause database creation to crash. Large files over 10MB were already excluded from analysis, but the file size check was not applied to TypeScript files. -Breaking Changes -~~~~~~~~~~~~~~~~ - -C/C++ -""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -C# -"" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Golang -"""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Java -"""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -JavaScript/TypeScript -""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Python -"""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Ruby -"""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Swift -""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - Major Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -198,79 +118,6 @@ Python Shared Libraries ---------------- -Breaking Changes -~~~~~~~~~~~~~~~~ - -Dataflow Analysis -""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Control Flow Analysis -""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Regular Expression Analysis -""""""""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Static Single Assignment (SSA) -"""""""""""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Type Trackers -""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Models-as-Data (MaD) -"""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -YAML Data Analysis -"""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -XML Data Analysis -""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -QL Detective Tutorial -""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Database of Common Typographical Errors -""""""""""""""""""""""""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Utility Classes -""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Range Analysis -"""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Threat Models -""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - -Type-flow Analysis -"""""""""""""""""" - -* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. - Minor Analysis Improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 34f5b676f12d6a710cd7330e74e6157fff87b458 Mon Sep 17 00:00:00 2001 From: Florin Coada Date: Tue, 18 Jun 2024 13:34:03 +0100 Subject: [PATCH 7/8] 2.17.4 Changelogs patch --- .../codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst index b8048e5ffd6..aa1d16332da 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.17.4.rst @@ -19,7 +19,10 @@ CodeQL 2.17.4 runs a total of 414 security queries when configured with the Defa CodeQL CLI ---------- -There are no user-facing CLI changes in this release. +New Features +~~~~~~~~~~~~ + +* CodeQL package management is now generally available, and all GitHub-produced CodeQL packages have had their version numbers increased to 1.0.0. Query Packs ----------- From e32a5870788ee9c84ad8146c601d47af07ef027d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 24 Jun 2024 14:33:10 +0000 Subject: [PATCH 8/8] Release preparation for version 2.17.6 --- cpp/ql/lib/CHANGELOG.md | 4 ++++ cpp/ql/lib/change-notes/released/1.1.1.md | 3 +++ cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ++++ cpp/ql/src/change-notes/released/1.0.2.md | 3 +++ cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++++ .../campaigns/Solorigate/lib/change-notes/released/1.7.19.md | 3 +++ csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++++ .../campaigns/Solorigate/src/change-notes/released/1.7.19.md | 3 +++ csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 4 ++++ csharp/ql/lib/change-notes/released/1.0.2.md | 3 +++ csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ++++ csharp/ql/src/change-notes/released/1.0.2.md | 3 +++ csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ++++ go/ql/consistency-queries/change-notes/released/1.0.2.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 4 ++++ go/ql/lib/change-notes/released/1.1.1.md | 3 +++ go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ++++ go/ql/src/change-notes/released/1.0.2.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ++++ java/ql/automodel/src/change-notes/released/1.0.2.md | 3 +++ java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 4 ++++ java/ql/lib/change-notes/released/1.1.1.md | 3 +++ java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ++++ java/ql/src/change-notes/released/1.0.2.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 4 ++++ javascript/ql/lib/change-notes/released/1.0.2.md | 3 +++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ++++ javascript/ql/src/change-notes/released/1.0.2.md | 3 +++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ++++ misc/suite-helpers/change-notes/released/1.0.2.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 4 ++++ python/ql/lib/change-notes/released/1.0.2.md | 3 +++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ++++ python/ql/src/change-notes/released/1.0.2.md | 3 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ++++ ruby/ql/lib/change-notes/released/1.0.2.md | 3 +++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ++++ ruby/ql/src/change-notes/released/1.0.2.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/1.0.2.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/1.0.2.md | 3 +++ shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ++++ shared/mad/change-notes/released/1.0.2.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ shared/rangeanalysis/change-notes/released/1.0.2.md | 3 +++ shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ++++ shared/regex/change-notes/released/1.0.2.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/1.0.2.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ shared/threat-models/change-notes/released/1.0.2.md | 3 +++ shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ++++ shared/tutorial/change-notes/released/1.0.2.md | 3 +++ shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ++++ shared/typeflow/change-notes/released/1.0.2.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/1.0.2.md | 3 +++ shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ++++ shared/typos/change-notes/released/1.0.2.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/1.0.2.md | 3 +++ shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ++++ shared/xml/change-notes/released/1.0.2.md | 3 +++ shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ++++ shared/yaml/change-notes/released/1.0.2.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ++++ swift/ql/lib/change-notes/released/1.0.2.md | 3 +++ swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ++++ swift/ql/src/change-notes/released/1.0.2.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 140 files changed, 315 insertions(+), 70 deletions(-) create mode 100644 cpp/ql/lib/change-notes/released/1.1.1.md create mode 100644 cpp/ql/src/change-notes/released/1.0.2.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.19.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.19.md create mode 100644 csharp/ql/lib/change-notes/released/1.0.2.md create mode 100644 csharp/ql/src/change-notes/released/1.0.2.md create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.2.md create mode 100644 go/ql/lib/change-notes/released/1.1.1.md create mode 100644 go/ql/src/change-notes/released/1.0.2.md create mode 100644 java/ql/automodel/src/change-notes/released/1.0.2.md create mode 100644 java/ql/lib/change-notes/released/1.1.1.md create mode 100644 java/ql/src/change-notes/released/1.0.2.md create mode 100644 javascript/ql/lib/change-notes/released/1.0.2.md create mode 100644 javascript/ql/src/change-notes/released/1.0.2.md create mode 100644 misc/suite-helpers/change-notes/released/1.0.2.md create mode 100644 python/ql/lib/change-notes/released/1.0.2.md create mode 100644 python/ql/src/change-notes/released/1.0.2.md create mode 100644 ruby/ql/lib/change-notes/released/1.0.2.md create mode 100644 ruby/ql/src/change-notes/released/1.0.2.md create mode 100644 shared/controlflow/change-notes/released/1.0.2.md create mode 100644 shared/dataflow/change-notes/released/1.0.2.md create mode 100644 shared/mad/change-notes/released/1.0.2.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.2.md create mode 100644 shared/regex/change-notes/released/1.0.2.md create mode 100644 shared/ssa/change-notes/released/1.0.2.md create mode 100644 shared/threat-models/change-notes/released/1.0.2.md create mode 100644 shared/tutorial/change-notes/released/1.0.2.md create mode 100644 shared/typeflow/change-notes/released/1.0.2.md create mode 100644 shared/typetracking/change-notes/released/1.0.2.md create mode 100644 shared/typos/change-notes/released/1.0.2.md create mode 100644 shared/util/change-notes/released/1.0.2.md create mode 100644 shared/xml/change-notes/released/1.0.2.md create mode 100644 shared/yaml/change-notes/released/1.0.2.md create mode 100644 swift/ql/lib/change-notes/released/1.0.2.md create mode 100644 swift/ql/src/change-notes/released/1.0.2.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 07a807f5811..a252887c7ab 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.1 + +No user-facing changes. + ## 1.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/1.1.1.md b/cpp/ql/lib/change-notes/released/1.1.1.md new file mode 100644 index 00000000000..7fb56d36610 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/1.1.1.md @@ -0,0 +1,3 @@ +## 1.1.1 + +No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 2ac15439f56..1a19084be3f 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.0 +lastReleaseVersion: 1.1.1 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 959d13909ad..cfdcf8a88d4 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 1.1.1-dev +version: 1.1.1 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 6220366fce3..b97d4226e1c 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.0.2.md b/cpp/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index bb0e03fecd5..de1658eef78 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.0.2-dev +version: 1.0.2 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index bbb697a9b54..a8294938701 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.19 + +No user-facing changes. + ## 1.7.18 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.19.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.19.md new file mode 100644 index 00000000000..caf5d2a6d4e --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.19.md @@ -0,0 +1,3 @@ +## 1.7.19 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index e516d2acfd5..c93ed8d67b9 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.18 +lastReleaseVersion: 1.7.19 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index b841613f7de..ef1b43d30a7 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.19-dev +version: 1.7.19 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index bbb697a9b54..a8294938701 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.19 + +No user-facing changes. + ## 1.7.18 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.19.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.19.md new file mode 100644 index 00000000000..caf5d2a6d4e --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.19.md @@ -0,0 +1,3 @@ +## 1.7.19 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index e516d2acfd5..c93ed8d67b9 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.18 +lastReleaseVersion: 1.7.19 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 27b5722a633..da30011b72e 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.19-dev +version: 1.7.19 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 0b3326f0e26..cd1d5307b89 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/csharp/ql/lib/change-notes/released/1.0.2.md b/csharp/ql/lib/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 8310b0a0364..0717f5195d9 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 1.0.2-dev +version: 1.0.2 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index f01de76bce8..fccbebebc8d 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.2.md b/csharp/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 51f40420b0a..146ee228325 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.2-dev +version: 1.0.2 groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 760a647d34b..de29ef9bd57 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.2.md b/go/ql/consistency-queries/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b741fe7758e..b9a89456458 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.2-dev +version: 1.0.2 groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 35423fb5fc4..0cb273eb65e 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.1 + +No user-facing changes. + ## 1.1.0 ### New Features diff --git a/go/ql/lib/change-notes/released/1.1.1.md b/go/ql/lib/change-notes/released/1.1.1.md new file mode 100644 index 00000000000..7fb56d36610 --- /dev/null +++ b/go/ql/lib/change-notes/released/1.1.1.md @@ -0,0 +1,3 @@ +## 1.1.1 + +No user-facing changes. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 2ac15439f56..1a19084be3f 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.0 +lastReleaseVersion: 1.1.1 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index bb1a1bed4cb..9520cc2d863 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 1.1.1-dev +version: 1.1.1 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 06da9803936..f84a37b640c 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.0.2.md b/go/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/go/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 99dfc2ca226..d3bb5a76662 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.0.2-dev +version: 1.0.2 groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index a839a23ff2a..eaf8408339a 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.2.md b/java/ql/automodel/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index d71d079228c..a5426a4c384 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.2-dev +version: 1.0.2 groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index e44d1dbb989..3f44eccebf7 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.1 + +No user-facing changes. + ## 1.1.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/released/1.1.1.md b/java/ql/lib/change-notes/released/1.1.1.md new file mode 100644 index 00000000000..7fb56d36610 --- /dev/null +++ b/java/ql/lib/change-notes/released/1.1.1.md @@ -0,0 +1,3 @@ +## 1.1.1 + +No user-facing changes. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 2ac15439f56..1a19084be3f 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.0 +lastReleaseVersion: 1.1.1 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 4b32bf26d9b..665e25f9ab6 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 1.1.1-dev +version: 1.1.1 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 6ba74402741..ae0f5f7d078 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 ### Minor Analysis Improvements diff --git a/java/ql/src/change-notes/released/1.0.2.md b/java/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/java/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index b6f54694d77..66e8d7772f5 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.0.2-dev +version: 1.0.2 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 00d7f15d4da..6cbc4998885 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/javascript/ql/lib/change-notes/released/1.0.2.md b/javascript/ql/lib/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index f1b548cb077..117a43eee38 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 1.0.2-dev +version: 1.0.2 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index bcd9ed4e991..ce964e5adc3 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.0.2.md b/javascript/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/javascript/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 5af8f768f8d..25aa0d266b6 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.0.2-dev +version: 1.0.2 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 52695525ebd..d27087d680e 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.2.md b/misc/suite-helpers/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index c8cf2ca3cf0..2431d51cadf 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.2-dev +version: 1.0.2 groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index ec68289f528..84134eabfbf 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/python/ql/lib/change-notes/released/1.0.2.md b/python/ql/lib/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/python/ql/lib/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 36d43473f2a..5a05b2c1240 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 1.0.2-dev +version: 1.0.2 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 23b83828448..02af0f40d77 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.0.2.md b/python/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/python/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index f154187c678..9f11225d8a3 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.0.2-dev +version: 1.0.2 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index f336cd20ffa..ea5836603a0 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/1.0.2.md b/ruby/ql/lib/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 47292a1a7a4..2d4041c5de8 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 1.0.2-dev +version: 1.0.2 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index d6bdd3c6057..520f2f0981c 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.0.2.md b/ruby/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 560b351070f..dac0f103669 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.0.2-dev +version: 1.0.2 groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index b8ca13a5a0d..2f7faa0c8f6 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.2.md b/shared/controlflow/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/controlflow/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 5c91e801792..5865905c06d 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index bd138f40a0d..c201bb72cf1 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.0.2.md b/shared/dataflow/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/dataflow/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 8249f5c36a3..2ca04ba10d6 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 9f48067ebdd..635ad99b6d3 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.2.md b/shared/mad/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/mad/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 56043030830..30bec4ee0e3 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index 0f7641e9f2b..49a52aad987 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.2.md b/shared/rangeanalysis/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 14371af418c..3b678b07233 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index 2dffb3c0763..de5ec9835b4 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.2.md b/shared/regex/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/regex/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 67f2511ccfe..90fe50f68f5 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index a74709e2995..36eaf4268a3 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.2.md b/shared/ssa/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/ssa/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1fbe47a363a..ec56f555f02 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 760a647d34b..de29ef9bd57 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.2.md b/shared/threat-models/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 5da9290370f..ace3f8f6485 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.2-dev +version: 1.0.2 library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index a13b5ca7ec4..739c618db91 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.2.md b/shared/tutorial/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index b9bb3259b02..ae171491544 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 42929b9d4c3..a360d0e8a04 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.2.md b/shared/typeflow/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 69762b52c8e..453a86a3406 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 69e96826997..8100fa0929d 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.2.md b/shared/typetracking/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/typetracking/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index f8408ccbf30..478ef42d8e1 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 0675876c070..9c651f7a0bd 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.2.md b/shared/typos/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/typos/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index e2323d042b8..624e62cae42 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index aa89efb4ce2..d5728b70ee8 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.2.md b/shared/util/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/util/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 9057cdf5fe9..d7e76ecfb1f 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index a321b71cd6d..006f512ebfe 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.2.md b/shared/xml/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/xml/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 8e39180d250..38863a2c130 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 0f83228000c..3b2b61803f2 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.2.md b/shared/yaml/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index a9ed7a297c0..1e75422b398 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.2-dev +version: 1.0.2 groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index 872600ea588..733df291ccc 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/1.0.2.md b/swift/ql/lib/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/swift/ql/lib/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 581d3f22480..b208c6157d4 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 1.0.2-dev +version: 1.0.2 groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index f4feccb00d1..2dee4c0c52e 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +No user-facing changes. + ## 1.0.1 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.2.md b/swift/ql/src/change-notes/released/1.0.2.md new file mode 100644 index 00000000000..5c0259c4959 --- /dev/null +++ b/swift/ql/src/change-notes/released/1.0.2.md @@ -0,0 +1,3 @@ +## 1.0.2 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 2f5886268c6..71f311e736a 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.1 +lastReleaseVersion: 1.0.2 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index c6fc8109f38..4ce9c8a0d5c 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.2-dev +version: 1.0.2 groups: - swift - queries