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
Mathias Vorreiter Pedersen
f3be58e2ba
C++: Accept more test changes.
2022-10-28 14:53:24 +02:00
Mathias Vorreiter Pedersen
f6ff9c9c66
Update cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-10-28 14:32:08 +02:00
Mathias Vorreiter Pedersen
9888de8acb
Merge branch 'replace-ast-with-ir-use-usedataflow' into rdmarsh2/repair-365-days-per-year
2022-10-28 13:48:12 +02:00
Mathias Vorreiter Pedersen
3261612a8c
C++: Exclude void-typed instructions from 'DataFlow::Node'. These nodes can never contain any data so we don't need dataflow nodes for them.
2022-10-28 13:00:23 +02:00
Mathias Vorreiter Pedersen
2098489bb0
C++: Make QL-for-QL happy.
2022-10-28 12:35:52 +02:00
Rasmus Wriedt Larsen
8628ff5e52
Merge pull request #10999 from RasmusWL/inline-fail-tag
...
InlineExpectationsTest: Fail if missing `getARelevantTag`
2022-10-28 10:35:49 +02:00
Mathias Vorreiter Pedersen
172261495f
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-as-expr
2022-10-28 10:32:31 +02:00
Mathias Vorreiter Pedersen
22cdeec3fb
Merge branch 'main' into printfprecision
2022-10-28 09:29:29 +02:00
Robert Marsh
a334dc9b2b
C++: repair Adding365DaysPerYear.ql
2022-10-27 15:06:48 -04:00