Skip to content

Commit 9caec6c

Browse files
committed
Merge upstream/main into feature/python-mcp-remote-sources
2 parents 99cdc47 + 5780a0d commit 9caec6c

507 files changed

Lines changed: 7253 additions & 5146 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/dependabot.yml‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,22 @@ updates:
44
directory: "ruby"
55
schedule:
66
interval: "daily"
7+
cooldown:
8+
default-days: 7
79

810
- package-ecosystem: "cargo"
911
directory: "ql"
1012
schedule:
1113
interval: "daily"
14+
cooldown:
15+
default-days: 7
1216

1317
- package-ecosystem: "github-actions"
1418
directory: "/"
1519
schedule:
1620
interval: "daily"
21+
cooldown:
22+
default-days: 7
1723
ignore:
1824
- dependency-name: '*'
1925
update-types: ['version-update:semver-patch', 'version-update:semver-minor']
@@ -22,6 +28,8 @@ updates:
2228
directory: "go/extractor"
2329
schedule:
2430
interval: "daily"
31+
cooldown:
32+
default-days: 7
2533
allow:
2634
- dependency-name: "golang.org/x/mod"
2735
- dependency-name: "golang.org/x/tools"
@@ -36,6 +44,8 @@ updates:
3644
directory: "go/ql/test"
3745
schedule:
3846
interval: "monthly"
47+
cooldown:
48+
default-days: 7
3949
ignore:
4050
- dependency-name: "*"
4151
reviewers:
@@ -45,5 +55,7 @@ updates:
4555
directory: "/"
4656
schedule:
4757
interval: weekly
58+
cooldown:
59+
default-days: 7
4860
exclude-paths:
4961
- "misc/bazel/registry/**"

‎Cargo.lock‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎MODULE.bazel‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ local_path_override(
1717
bazel_dep(name = "platforms", version = "1.1.0")
1818
bazel_dep(name = "rules_cc", version = "0.2.27")
1919
bazel_dep(name = "rules_go", version = "0.65.0")
20-
bazel_dep(name = "rules_java", version = "9.6.1")
20+
bazel_dep(name = "rules_java", version = "9.9.0")
2121
bazel_dep(name = "rules_pkg", version = "1.2.0")
2222
bazel_dep(name = "rules_nodejs", version = "6.7.7")
2323
bazel_dep(name = "rules_python", version = "2.4.6")
@@ -30,9 +30,9 @@ bazel_dep(name = "rules_kotlin", version = "2.4.21-codeql.1")
3030
bazel_dep(name = "gazelle", version = "0.54.0")
3131
bazel_dep(name = "rules_dotnet", version = "0.21.5-codeql.1")
3232
bazel_dep(name = "googletest", version = "1.18.0.bcr.1")
33-
bazel_dep(name = "rules_rust", version = "0.74.0")
33+
bazel_dep(name = "rules_rust", version = "0.75.0")
3434
bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.3")
35-
bazel_dep(name = "swift-syntax", version = "603.0.2")
35+
bazel_dep(name = "swift-syntax", version = "604.0.0")
3636
bazel_dep(name = "zstd", version = "1.5.7.bcr.3")
3737

3838
bazel_dep(name = "buildifier_prebuilt", version = "10.1.0", dev_dependency = True)

‎cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll‎

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,21 +1088,26 @@ private Type getForwardedConstructorType(
10881088
Function forwarder, string namespace, string type, boolean subtypes, string name,
10891089
string signature, string ext, string constructorType
10901090
) {
1091-
exists(int index |
1092-
forwardsModel(namespace, type, subtypes, name, signature, ext, _, constructorType, _, _, _) and
1093-
forwarder = interpretElement(namespace, type, subtypes, name, signature, ext)
1094-
|
1095-
exists(string typeArguments |
1091+
forwardsModel(namespace, type, subtypes, name, signature, ext, _, constructorType, _, _, _) and
1092+
forwarder = interpretElement(namespace, type, subtypes, name, signature, ext) and
1093+
(
1094+
exists(string typeArguments, int index |
10961095
parseAngles(type, _, typeArguments, "") and
10971096
constructorType = getAtIndex(typeArguments, index) and
10981097
result = forwarder.getDeclaringType().getTemplateArgument(index)
10991098
)
11001099
or
1101-
exists(string nameArguments |
1100+
exists(string nameArguments, int index |
11021101
parseAngles(name, _, nameArguments, "") and
11031102
constructorType = getAtIndex(nameArguments, index) and
11041103
result = forwarder.getTemplateArgument(index)
11051104
)
1105+
or
1106+
exists(TypedefType member |
1107+
member = forwarder.getDeclaringType().getAMember() and
1108+
member.hasName(constructorType) and
1109+
result = member.getUnderlyingType()
1110+
)
11061111
)
11071112
}
11081113

‎cpp/ql/test/include/type_traits.h‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#if !defined(CODEQL_TYPE_TRAITS_H)
22
#define CODEQL_TYPE_TRAITS_H
33

4-
typedef unsigned long size_t;
4+
using size_t = decltype(sizeof(0));
55

66
namespace std {
7+
using size_t = decltype(sizeof(0));
78
template<class T>
89
struct remove_const { typedef T type; };
910

‎cpp/ql/test/library-tests/dataflow/external-models/asio_streams.cpp‎

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11

22
// --- stub library headers ---
33

4-
#include "std_string.h"
4+
#include "../taint-tests/stl.h"
55

66
#define SIZE_MAX 0xFFFFFFFF
77

8-
namespace std {
9-
class string_view {
10-
public:
11-
string_view(const char* s);
12-
};
13-
};
14-
158
namespace boost {
169
namespace system {
1710
class error_code {
@@ -150,20 +143,20 @@ void test_resolve_host() {
150143
sink(resolver.resolve(host, service, flags)); // $ ir
151144
sink(resolver.resolve(host, service, flags, error)); // $ ir
152145

153-
sink(resolver.resolve(host_view, service_view)); // $ ir
154-
sink(resolver.resolve(host_view, service_view, error)); // $ ir
155-
sink(resolver.resolve(host_view, service_view, flags)); // $ ir
156-
sink(resolver.resolve(host_view, service_view, flags, error)); // $ ir
146+
sink(resolver.resolve(host_view, service_view)); // $ MISSING: ir
147+
sink(resolver.resolve(host_view, service_view, error)); // $ MISSING: ir
148+
sink(resolver.resolve(host_view, service_view, flags)); // $ MISSING: ir
149+
sink(resolver.resolve(host_view, service_view, flags, error)); // $ MISSING: ir
157150

158151
sink(resolver.resolve(protocol, host, service)); // $ ir
159152
sink(resolver.resolve(protocol, host, service, error)); // $ ir
160153
sink(resolver.resolve(protocol, host, service, flags)); // $ ir
161154
sink(resolver.resolve(protocol, host, service, flags, error)); // $ ir
162155

163-
sink(resolver.resolve(protocol, host_view, service_view)); // $ ir
164-
sink(resolver.resolve(protocol, host_view, service_view, error)); // $ ir
165-
sink(resolver.resolve(protocol, host_view, service_view, flags)); // $ ir
166-
sink(resolver.resolve(protocol, host_view, service_view, flags, error)); // $ ir
156+
sink(resolver.resolve(protocol, host_view, service_view)); // $ MISSING: ir
157+
sink(resolver.resolve(protocol, host_view, service_view, error)); // $ MISSING: ir
158+
sink(resolver.resolve(protocol, host_view, service_view, flags)); // $ MISSING: ir
159+
sink(resolver.resolve(protocol, host_view, service_view, flags, error)); // $ MISSING: ir
167160
}
168161

169162
void test_resolve_service() {
@@ -181,18 +174,18 @@ void test_resolve_service() {
181174
sink(resolver.resolve(host, service, flags)); // $ ir
182175
sink(resolver.resolve(host, service, flags, error)); // $ ir
183176

184-
sink(resolver.resolve(host_view, service_view)); // $ ir
185-
sink(resolver.resolve(host_view, service_view, error)); // $ ir
186-
sink(resolver.resolve(host_view, service_view, flags)); // $ ir
187-
sink(resolver.resolve(host_view, service_view, flags, error)); // $ ir
177+
sink(resolver.resolve(host_view, service_view)); // $ MISSING: ir
178+
sink(resolver.resolve(host_view, service_view, error)); // $ MISSING: ir
179+
sink(resolver.resolve(host_view, service_view, flags)); // $ MISSING: ir
180+
sink(resolver.resolve(host_view, service_view, flags, error)); // $ MISSING: ir
188181

189182
sink(resolver.resolve(protocol, host, service)); // $ ir
190183
sink(resolver.resolve(protocol, host, service, error)); // $ ir
191184
sink(resolver.resolve(protocol, host, service, flags)); // $ ir
192185
sink(resolver.resolve(protocol, host, service, flags, error)); // $ ir
193186

194-
sink(resolver.resolve(protocol, host_view, service_view)); // $ ir
195-
sink(resolver.resolve(protocol, host_view, service_view, error)); // $ ir
196-
sink(resolver.resolve(protocol, host_view, service_view, flags)); // $ ir
197-
sink(resolver.resolve(protocol, host_view, service_view, flags, error)); // $ ir
187+
sink(resolver.resolve(protocol, host_view, service_view)); // $ MISSING: ir
188+
sink(resolver.resolve(protocol, host_view, service_view, error)); // $ MISSING: ir
189+
sink(resolver.resolve(protocol, host_view, service_view, flags)); // $ MISSING: ir
190+
sink(resolver.resolve(protocol, host_view, service_view, flags, error)); // $ MISSING: ir
198191
}

‎cpp/ql/test/library-tests/dataflow/external-models/azure.cpp‎

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,18 @@
1+
#include "../taint-tests/stl.h"
12
using uint16_t = unsigned short;
23
using int64_t = long long;
34
using size_t = unsigned long;
45
using uint8_t = unsigned char;
56
using int32_t = int;
67
using uint32_t = unsigned int;
78

8-
namespace std
9-
{
10-
class string
11-
{
12-
public:
13-
string();
14-
string(const char *);
15-
~string();
16-
};
17-
18-
template <typename K, typename V>
19-
class map
20-
{
21-
public:
22-
map();
23-
~map();
24-
25-
V& operator[](const K& key);
26-
};
27-
28-
template <typename T>
29-
class vector
30-
{
31-
public:
32-
vector();
33-
~vector();
34-
35-
T& operator[](size_t);
36-
};
37-
38-
template<typename T>
39-
class unique_ptr {
40-
public:
41-
unique_ptr();
42-
~unique_ptr();
43-
44-
T* get();
45-
};
46-
}
47-
489
namespace Azure
4910
{
5011
template <typename T>
5112
class Nullable
5213
{
14+
T m_value;
15+
5316
public:
5417
Nullable();
5518
Nullable(const T);
@@ -284,6 +247,9 @@ void test_RawResponse(Azure::Core::Http::RawResponse& resp) {
284247
}
285248

286249
void test_GetHeader() {
250+
// We instantiate the `std::pair` class since we need the `FieldContent` for
251+
// `std::pair::second` to be present in the test DB.
252+
std::pair<std::string, std::string>();
287253
Azure::Core::Http::Request request(Azure::Core::Http::Get, Azure::Core::Url("http://example.com"));
288254
{
289255
auto headerValue = request.GetHeader("Content-Type").Value();
@@ -294,4 +260,11 @@ void test_GetHeader() {
294260
std::string contentType = headers["Content-Type"];
295261
sink(contentType); // $ ir
296262
}
263+
}
264+
265+
void test_QueryParameters() {
266+
Azure::Core::Http::Request request(Azure::Core::Http::Get, Azure::Core::Url("http://example.com"));
267+
Azure::Core::Url url;
268+
url.SetQueryParameters(request.GetHeaders());
269+
sink(url.GetQueryParameters()["query"]); // $ ir
297270
}

‎cpp/ql/test/library-tests/dataflow/external-models/bslx.cpp‎

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,4 @@
1-
2-
// --- stub library headers ---
3-
4-
namespace std {
5-
typedef unsigned long size_t;
6-
template <class T> class allocator {};
7-
template<class charT> struct char_traits {};
8-
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
9-
class basic_string {
10-
public:
11-
basic_string();
12-
basic_string(const charT* s, const Allocator& a = Allocator());
13-
const charT* data() const;
14-
size_t size() const;
15-
};
16-
typedef basic_string<char> string;
17-
}
1+
#include "../taint-tests/stl.h"
182

193
// BDE spells the standard string as `bsl::string`; alias it onto the stub above.
204
namespace bsl {

0 commit comments

Comments
 (0)