Commit Graph

66447 Commits

Author SHA1 Message Date
Paolo Tranquilli
92197bf9f2 Codegen: fix autopep8 pre-commit hook 2023-03-29 15:57:45 +02:00
Mathias Vorreiter Pedersen
e3e68b7753 Merge pull request #12642 from geoffw0/modernstring
Swift: Modernize the swift/string-length-conflation query
2023-03-29 14:55:40 +01:00
Paolo Tranquilli
48c2303391 Swift: add upgrade/downgrade scripts 2023-03-29 15:44:07 +02:00
Paolo Tranquilli
20128adee4 Swift: make imported and exported modules a set 2023-03-29 15:44:07 +02:00
Paolo Tranquilli
d7a3cb2d01 Codegen: implement set in ql test generation 2023-03-29 15:44:07 +02:00
Paolo Tranquilli
d5ee728657 Codegen: implement set in qlgen (excluding QL tests) 2023-03-29 15:44:07 +02:00
Paolo Tranquilli
00b59f83f2 Codegen: disallow child on set properties 2023-03-29 15:44:06 +02:00
Paolo Tranquilli
442e85099b Codegen: implement set in cppgen 2023-03-29 15:44:06 +02:00
Paolo Tranquilli
eef140c3fc Codegen: implement set in dbschemegen 2023-03-29 15:44:06 +02:00
Paolo Tranquilli
bba5d9dbd6 Codegen: add set to schema definitions 2023-03-29 15:44:06 +02:00
Mathias Vorreiter Pedersen
27d8f98418 C++: Replace 'int' with 'float' in tests and accept test changes. 2023-03-29 14:27:37 +01:00
Mathias Vorreiter Pedersen
a2c0e36062 C++: Accept test changes. 2023-03-29 14:25:05 +01:00
Mathias Vorreiter Pedersen
4d8159c581 C++: Disable rounding. 2023-03-29 14:23:05 +01:00
Mathias Vorreiter Pedersen
6dd45b31e1 Merge pull request #12696 from MathiasVP/range-analysis-of-mul-expr
C++: IR-based range analysis of multiplication
2023-03-29 14:05:55 +01:00
Mathias Vorreiter Pedersen
3bd193f721 C++: Fix Code Scanning errors. 2023-03-29 14:02:34 +01:00
Mathias Vorreiter Pedersen
0e9ed989e0 C++: Accept test changes. 2023-03-29 14:01:01 +01:00
Mathias Vorreiter Pedersen
fb6e45b6f4 C++: Emit a NoOp during CFG construction for VLAs. 2023-03-29 13:58:39 +01:00
Mathias Vorreiter Pedersen
d4746e0508 C++: Add test with VLA. 2023-03-29 13:58:24 +01:00
Ian Lynagh
4fa1bbf018 Java: Allow keys to be omitted from ExtractorInformation.ql
This is useful in tests, as some keys contain unstable information.
2023-03-29 13:10:17 +01:00
Alex Denisov
069598c9e1 Swift: consider declarations from non-swift modules as lazy
This change fixes all of the VALUE_NOT_IN_TYPE errors I'm seeing with
the integration tests on macOS.
2023-03-29 14:02:56 +02:00
Mathias Vorreiter Pedersen
9d5c785d89 C++: Even more fix'ing QLDoc. 2023-03-29 12:45:27 +01:00
Mathias Vorreiter Pedersen
09d0385f0f C++: Fix QLDoc. 2023-03-29 12:42:32 +01:00
Mathias Vorreiter Pedersen
c14bccf7eb C++: Fix QLDoc. 2023-03-29 12:41:04 +01:00
Anders Schack-Mulligen
d0fa7c7ff8 Merge pull request #12683 from aschackmull/java/rangeanalysis-add
Java: Support double-recursive range analysis bounds for addition.
2023-03-29 13:39:59 +02:00
Paolo Tranquilli
f938fde6eb Merge branch 'main' into redsun82/swift-fix-wmo 2023-03-29 13:33:11 +02:00
Mathias Vorreiter Pedersen
fe487a1ae8 C++: Respond to PR reviews. 2023-03-29 12:30:24 +01:00
Tom Hvitved
e91b5de875 Run Ruby QL tests on changes to shared 2023-03-29 13:27:06 +02:00
Ed Minnix
c8579d8c26 RegexInjection docs 2023-03-29 07:24:32 -04:00
Ed Minnix
17cdd16c19 Fix miscopied isBarrier in JndiInjectionQuery 2023-03-29 07:23:13 -04:00
Rasmus Wriedt Larsen
34cbaf10c2 Python: Use PostUpdateNode in py/azure-storage/unsafe-client-side-encryption-in-use 2023-03-29 13:22:21 +02:00
Michael Nebel
483e5c5264 C#: Re-factor ExposureOfPrivateInformation to use the new API. 2023-03-29 13:19:56 +02:00
Michael Nebel
cc4f3f6234 C#: Re-factor CodeInjection to use the new API. 2023-03-29 13:19:56 +02:00
Michael Nebel
60c5bbde0f C#: Re-factor ConditionalBypass to use the new API. 2023-03-29 13:19:56 +02:00
Michael Nebel
cab976cf8f C#: Re-factor CommandInjection to use the new API. 2023-03-29 13:19:56 +02:00
Michael Nebel
c03ce2f63b C#: Re-factor HardCodedSymmetricEncryptionKey to use the new API. 2023-03-29 13:19:56 +02:00
Michael Nebel
5278bbcaaa C#: Re-factor SymmetricKeyTaintTrackingConfiguration to use the new API. 2023-03-29 13:19:56 +02:00
Paolo Tranquilli
2cfecac545 Swift: remove debug prints 2023-03-29 13:14:44 +02:00
Jeroen Ketema
0acca2ba76 Merge pull request #12687 from jketema/unit-2
Make imports of `codeql.util.Unit` private
2023-03-29 13:07:12 +02:00
Mathias Vorreiter Pedersen
1dd3e385ab Merge pull request #12133 from d10c/swift/case-let-dataflow
Swift: `case let` dataflow
2023-03-29 11:31:48 +01:00
Nora Dimitrijević
d0de4a5d93 Merge branch 'main' into swift/case-let-dataflow 2023-03-29 11:55:34 +02:00
Nora Dimitrijević
70ed8c6e8f Swift: add QLdoc to Pattern 2023-03-29 11:52:50 +02:00
Nora Dimitrijević
3fbf90cbd7 Swift: add ConstructorDecl.isFailable/0 2023-03-29 11:52:50 +02:00
Tamás Vajk
08d2d3b96b Merge pull request #12699 from tamasvajk/fix/ruby-makefile
Ruby: Adjust Makefile after shared library refactoring
2023-03-29 11:48:24 +02:00
Rasmus Wriedt Larsen
86333e3ba5 Python: Remove duplicate results from azure blob query 2023-03-29 11:47:29 +02:00
Rasmus Wriedt Larsen
32d52c023e Python: Allow any order for azure blob query
By only allowing the sink in the state where encryption v1 is used, we
can handle the new case where the order of attribute assignment is
flipped.

However, we get a few too many paths because we can have multiple
sources reaching the same sink... let's fix in next commit.
2023-03-29 11:42:01 +02:00
Anders Schack-Mulligen
7844384768 Java: Add change note. 2023-03-29 11:39:07 +02:00
Rasmus Wriedt Larsen
480f171d9b Python: Add azure blob tests with swapped order
Just shows we need to use some state in the query to get the correct
behavior.
2023-03-29 11:25:37 +02:00
Rasmus Wriedt Larsen
683985a00a Python: Expand azure blob modeling
Now we can differentiate between the classes
2023-03-29 11:24:36 +02:00
Paolo Tranquilli
f3f17791c3 Swift: extract all source files in WMO mode
WMO stands for whole module optimization. It's a compilation mode where
all sources of a module are compiled together, e.g.
```
swift-frontend -emit-module A.swift B.swift -o Module.swiftmodule
```
This is opposed to incremental mode, where one would do something like
```
swift-frontend -emit-module -primary-file A.swift B.swift -module-name Module -o Module~A.swiftmodule
swift-frontend -emit-module A.swift -primary-file B.swift -module-name Module -o Module~B.swiftmodule
swift-frontend -merge-modules Module~A.swiftmodule Module~B.swiftmodule -o Module.swiftmodule
```

In WMO mode we were skipping extraction of all files after the first
one, because we were filtering in only files with an associated output,
and internally swift only assigns the output to the first input file in
WMO mode (which is just an implementation detail).

This patch refines that filter, by getting all input source files in
case there are no primary inputs.
2023-03-29 10:39:58 +02:00
Asger F
f8e76b5347 Ruby: do not depend on trackDefNode in isDef 2023-03-29 10:31:42 +02:00