Commit Graph

3806 Commits

Author SHA1 Message Date
Jeroen Ketema
0addae81cd Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-20 11:34:41 +01:00
Aditya Sharad
ed29b3e4d6 Shared packs: Depend on codeql/tutorial from all language libraries
This allows `import tutorial` from queries targeting
any language, just like before, while removing the
duplicate copies of `tutorial.qll`.
2022-12-19 15:52:11 -08:00
Jeroen Ketema
edd29f4b0e C++: Add change note 2022-12-19 13:50:50 +01:00
Jeroen Ketema
a73bd050f7 C++: Define the argv flow source in terms the input parameter 2022-12-19 12:13:39 +01:00
Robert Marsh
df7a4ac093 Merge pull request #11722 from MathiasVP/make-buffer.qll-unique-again
C++: Use `unique` in `getBufferSize`
2022-12-16 15:00:18 -05:00
Henry Mercer
30451ee950 Merge pull request #11681 from github/henrymercer/mergeback-3.8
Merge `rc/3.8` back to `main`
2022-12-16 17:43:12 +00:00
Mathias Vorreiter Pedersen
c09ed10d33 Merge pull request #11727 from MathiasVP/fix-crement-and-assign-op-dataflow-mappings
C++: Fix `DataFlow <-> Expr` mappings for `CrementOperation` and `AssignOperation`
2022-12-16 17:05:13 +00:00
Mathias Vorreiter Pedersen
33649ed7d3 Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-16 17:02:06 +00:00
Mathias Vorreiter Pedersen
df526552a6 C++: Fix mapping between dataflow nodes and '{Crement, Assign}Operations'. 2022-12-16 14:14:48 +00:00
Mathias Vorreiter Pedersen
c06f7259cf C++: Make the 'getBufferSize' a lot more like the pre-use-use flow implementation. 2022-12-16 12:58:45 +00:00
Tom Hvitved
e45edcc159 Merge pull request #11674 from hvitved/dataflow/param-context
Data flow: Track callable in flow-through pruning
2022-12-16 09:25:15 +01:00
Tom Hvitved
f8571dd0b6 Data flow: Work around functionality-induced misoptimization 2022-12-15 15:29:14 +01:00
Tom Hvitved
6eda042229 Data flow: Sync files 2022-12-15 15:29:13 +01:00
Geoffrey White
e7ea0d7ee9 C++: Attempt to clarify the way Allocation.qll and Deallocation.qll should be used. 2022-12-15 13:05:56 +00:00
Mathias Vorreiter Pedersen
73b93be313 C++: Prevent non-termination in 'getTypeImpl' when a iterator defines itself as 'value_type'. 2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
526b913f7d C++: Fix join orders. 2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
f94ca0e087 C++: Add implicit defs and uses for iterators' underlying containers. 2022-12-15 11:55:21 +00:00
Mathias Vorreiter Pedersen
78b7e12b87 C++: Make 'DefImpl' and 'useImpl' abstract. 2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
5d417d7a69 C++: Implement an 'Indirection' subtype for iterators. 2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
ef110e77ff C++: Remove an unnecessary predicate from the 'Indirection' class. 2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
22b04af0fa Merge pull request #11658 from MathiasVP/uncertain-writes
C++: Flow through uncertain writes
2022-12-14 15:26:28 +00:00
Jeroen Ketema
bb256514c0 Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-14 15:52:20 +01:00
Erik Krogh Kristensen
7615668f92 Merge pull request #11662 from erik-krogh/c-useInstanceOf
Swift/C++: Use instanceof in more places
2022-12-14 14:30:21 +01:00
Jeroen Ketema
c18cfa7a7a C++: Fix itemization in QLDoc 2022-12-14 13:46:07 +01:00
Henry Mercer
a3933fbf4f Bump minor versions of packs we regularly release 2022-12-13 18:59:24 +00:00
Henry Mercer
7167f078be Merge branch 'main' into henrymercer/mergeback-3.8 2022-12-13 18:40:53 +00:00
Jeroen Ketema
3be0b3e6c7 C++: Recognize indirect argv accesses as flow sources for use-use dataflow
This fixes the test regression on `cpp/command-line-injection`.
2022-12-13 16:18:17 +01:00
Tom Hvitved
bc58cbec8c C++: Implement ContentApprox 2022-12-13 09:53:01 +01:00
Tom Hvitved
0c2eee2a72 Data flow: Sync files 2022-12-13 09:52:55 +01:00
erik-krogh
92a7e787a8 C: do the minimal change to ValueNumberBound instead 2022-12-12 22:17:50 +01:00
erik-krogh
698e05f85a Swift/C++: Use instanceof in more places 2022-12-12 16:58:13 +01:00
Mathias Vorreiter Pedersen
ad522651ec C++: Flow through uncertain writes. 2022-12-12 10:54:26 +00:00
Jeroen Ketema
b2091e8632 Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-12 11:40:36 +01:00
Jeroen Ketema
cb1dacfef1 C++: Fix QL-for-QL warnings 2022-12-12 11:23:29 +01:00
github-actions[bot]
343b7b1c8b Post-release preparation for codeql-cli-2.11.6 2022-12-11 18:15:04 +00:00
Jeroen Ketema
d5acd310ce Merge pull request #11644 from jketema/lower-case-flow-source-description
C++: Make all flow source descriptions start with a lower case letter
2022-12-10 20:23:14 +01:00
github-actions[bot]
0b2fb4f70a Release preparation for version 2.11.6 2022-12-10 15:49:35 +00:00
Mathias Vorreiter Pedersen
9f9ffef697 C++: Make the Node IPA type private. 2022-12-10 14:51:21 +00:00
Mathias Vorreiter Pedersen
de70cbfee9 C++: Change caching for dataflow. 2022-12-09 23:30:47 +00:00
Jeroen Ketema
9dc2614012 C++: Make all flow source descriptions start with a lower case letter
In every context where we use the description a lower case letter makes more
sense.
2022-12-09 23:18:58 +01:00
Jeroen Ketema
1e1974c9fb C++: Add change note 2022-12-09 23:17:36 +01:00
Jeroen Ketema
331fab5ac0 C++: Generalize the ArgvSource flow source
This matches `isUserInput` and handles cases where `argv` has a different name,
which is allowed.
2022-12-09 23:12:31 +01:00
Mathias Vorreiter Pedersen
52bf39bcf9 C++: Use a 'fastTC' instead of '*' to improve performance. 2022-12-09 14:21:09 +00:00
Mathias Vorreiter Pedersen
a3285653ae C++: Prevent an expression to stepping to itself. 2022-12-09 14:20:27 +00:00
Jeroen Ketema
2095f11b8c C++: Add change note 2022-12-08 23:35:32 +01:00
Jeroen Ketema
aabbafd2bf C++: Fix QL-for-QL warning 2022-12-08 19:33:11 +01:00
Jeroen Ketema
ec0ce56269 C++: Model getaddrinfo as flow source 2022-12-08 19:20:11 +01:00
Robert Marsh
f235b991db Merge pull request #11374 from MathiasVP/indirect-outnodes-are-post-update-nodes
C++: Field flow through reference-returning functions
2022-12-08 10:46:19 -05:00
Jeroen Ketema
8f9a73ee09 C++: Address review comments 2022-12-08 16:14:12 +01:00
Jeroen Ketema
33fa76f911 C++: Add change note 2022-12-08 15:22:42 +01:00