Jeroen Ketema
af6a87e54d
C++: Add missing QLDoc comments
2022-11-09 13:08:53 +01:00
Jeroen Ketema
d7804f5473
C++: Fix DataFlow2 import
2022-11-09 12:53:05 +01:00
Jeroen Ketema
ceb6706c73
C++: Fix formatting
2022-11-09 12:52:44 +01:00
Jeroen Ketema
4ab5066ed2
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 11:52:39 +01:00
Jeroen Ketema
6a5f37b1b7
Merge pull request #11149 from geoffw0/wrong-number-msg
...
C++: Clearer messages for the format args queries
2022-11-08 20:44:10 +01:00
Jeroen Ketema
74f9b322a8
Merge branch 'main' into update-from-main
2022-11-08 17:01:02 +01:00
Jeroen Ketema
2bef82babc
Merge pull request #11163 from jketema/missing-return
...
C++: Add dataflow test that deliberately omits the return of a non-void function
2022-11-08 16:00:36 +01:00
Geoffrey White
c8426776fc
Merge branch 'main' into wrong-number-msg
2022-11-08 14:47:19 +00:00
Jeroen Ketema
fa2d58adff
C++: Add dataflow test that deliberately omits the return of a non-void function
2022-11-08 15:12:34 +01:00
Rasmus Wriedt Larsen
4895daba85
DataFlow: Add read/store stepIsLocal consistency checks
2022-11-08 13:32:49 +01:00
Jeroen Ketema
c61a9c5911
C++: Also taint the return value dereference in the strcat model
2022-11-08 12:08:44 +01:00
Jeroen Ketema
0d4a2239fc
C++: Fix wrong return types and missing statement in dataflow test
2022-11-08 09:55:10 +01:00
Geoffrey White
d72ea52f68
C++: More accurate test tags.
2022-11-07 16:32:46 +00:00
Geoffrey White
55a7adff20
C++: Make the message clearer.
2022-11-07 16:32:45 +00:00
Geoffrey White
b911556896
C++: Add a test showing the motivation.
2022-11-07 16:17:32 +00:00
Jeroen Ketema
89c5e3df1f
C++: Fix the dataflow configuration in dataflow/dataflow-tests
2022-11-07 16:43:55 +01:00
Jeroen Ketema
5732c3bca0
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-07 15:03:26 +01:00
Jeroen Ketema
d62e3f6bc2
Merge pull request #11137 from jketema/dataflow-test-fixes
...
C++: Small fixes for the dataflow tests
2022-11-07 11:07:09 +01:00
Anders Schack-Mulligen
99ca28ea9b
Merge pull request #10886 from aschackmull/dataflow/joinorders
...
Dataflow: Fix a couple of join-orders.
2022-11-07 11:05:29 +01:00
Jeroen Ketema
291027ad82
C++: Fix return type in dataflow test
2022-11-07 09:42:54 +01:00
Jeroen Ketema
3b1feeef6d
C++: Remove unneeded isAdditionalFlowStep from dataflow test
...
Since the introduction of flow through global variables these additional
steps are no longer needed.
2022-11-07 09:40:57 +01:00
github-actions[bot]
fca754bddd
Post-release preparation for codeql-cli-2.11.3
2022-11-05 14:30:48 +00:00
github-actions[bot]
508327235a
Release preparation for version 2.11.3
2022-11-04 20:16:23 +00:00
Jeroen Ketema
fc2013334f
C++: Do not use the old dataflow library in additional-flow-to-parameter
...
Either both queries here should use the old library or neither should. The
expectation is that the expected results between the queries differ depending
on the additional flow step in one of them.
2022-11-04 15:46:36 +01:00
Tom Hvitved
05bf86acb6
Merge pull request #11126 from hvitved/cpp/position-overrides
...
C++: Let `(Indirect|Direct)Position` be sub classes of `Position`
2022-11-04 15:35:27 +01:00
Tom Hvitved
95835b8297
C++: Let (Indirect|Direct)Position be sub classes of Position
2022-11-04 14:31:18 +01:00
Anders Schack-Mulligen
a1dba82360
Dataflow: Sync.
2022-11-04 12:41:55 +01:00
Mathias Vorreiter Pedersen
b95163cfe4
Merge pull request #11112 from MathiasVP/local-expr-flow
...
C++: Improve `Buffer.qll` performance
2022-11-04 10:32:27 +00:00
Mathias Vorreiter Pedersen
2617e6d7c6
C++: Inline a predicate that was only used once.
2022-11-04 09:35:34 +00:00
Mathias Vorreiter Pedersen
84af725ef1
Fix QLDoc.
2022-11-03 20:33:41 +00:00
Mathias Vorreiter Pedersen
b42e81c32d
C++: Speed up 'Buffer.qll'.
2022-11-03 20:31:55 +00:00
Jeroen Ketema
96425a1787
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 18:06:37 +01:00
Jeroen Ketema
c87b516130
C++: Turn IndirectArgumentOutNode into a PartialDefinitionNode
2022-11-03 17:58:35 +01:00
Tom Hvitved
a533c95640
C++: Update expected test output
2022-11-03 15:52:30 +01:00
Tom Hvitved
d3488da0c2
Data flow: Sync files
2022-11-03 15:52:30 +01:00
Mathias Vorreiter Pedersen
1ca7c5b97d
Merge pull request #11091 from JarLob/assign
...
Fix AV Rule 76
2022-11-03 13:06:10 +00:00
Mathias Vorreiter Pedersen
ad0b36a0c9
C++: Add change note.
2022-11-03 11:41:38 +00:00
Mathias Vorreiter Pedersen
5d5c64a58b
C++: Accept test change.
2022-11-03 10:27:07 +00:00
Mathias Vorreiter Pedersen
18802a2883
Merge pull request #11042 from MathiasVP/simplify-buffer.qll
...
C++: Simplify `buffer.qll` repair
2022-11-03 09:18:39 +00:00
JarLob
3317223e19
Fix AV Rule 76
2022-11-02 22:50:25 +01:00
Dave Bartolomeo
9d5e5e3ee7
${workspace} all the things
2022-11-01 13:29:05 -04:00
Dave Bartolomeo
49c4c554c4
Merge from main
2022-11-01 13:22:40 -04:00
Mathias Vorreiter Pedersen
30f15473db
C++: Use 'max' instead of 'unique.'
2022-11-01 16:55:45 +00:00
Jeroen Ketema
80ef3b39ff
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-10-31 18:26:34 +01:00
Jeroen Ketema
b43cbf7f95
Update cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/test.cpp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-10-31 17:03:29 +01:00
Jeroen Ketema
abe9258943
C++: Add strcpy test for cpp/non-constant-format
2022-10-31 15:29:17 +01:00
Jeroen Ketema
83afc2a0ad
C++: Add strcpy prototype to test
2022-10-31 15:25:35 +01:00
Mathias Vorreiter Pedersen
1b50168d08
C++: Add an initial pruning stage to prevent this
...
large TC in 'localFlowToExpr':
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@0a49913i with tuple counts:
4713946 ~0% {2} r1 = SCAN DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff OUTPUT In.1, In.0
40897385 ~46% {2} r2 = JOIN boundedFastTC:Buffer#61e3d199::localFlowToExprStep#2#ff_10#higher_order_body:DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff_0#higher_order_body WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
45611331 ~43% {2} r3 = r1 UNION r2
3376553 ~14% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
return r4
```
After this commit the tuple counts looks like:
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@8cc38x5k on iteration 2 running pipeline standard with tuple counts:
51367 ~3% {2} r1 = JOIN Buffer#61e3d199::getBufferSize0#1#f#prev_delta WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0
124933 ~18% {2} r2 = JOIN r1 WITH #Buffer#61e3d199::localFlowToExprStep#2Plus#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
176300 ~17% {2} r3 = r1 UNION r2
184685 ~22% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
56646 ~47% {2} r5 = JOIN r4 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
44635 ~16% {2} r6 = r5 AND NOT Buffer#61e3d199::localFlowStepToExpr#2#ff#prev(Lhs.0, Lhs.1)
return r6
```
2022-10-30 14:20:15 +01:00
Mathias Vorreiter Pedersen
aa8214addf
C++: Simplify 'Buffer.qll' by avoiding 'asIndirectExpr'. This removes the flow from 'x' to 'x++', which makes the whole library a lot simpler.
2022-10-30 12:58:53 +01:00
Mathias Vorreiter Pedersen
18d3801c92
Merge pull request #11033 from MathiasVP/exclude-void-calls
...
C++: Don't create `DataFlow::Node`s for `void`-typed instructions
2022-10-28 20:46:33 +02:00