Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ Checks: >
bugprone-return-const-ref-from-parameter,
bugprone-suspicious-*,
-bugprone-suspicious-semicolon,
bugprone-switch-missing-default-case,
bugprone-undefined-memory-manipulation,
bugprone-unhandled-self-assignment,
bugprone-unused-raii,
bugprone-use-after-move,
cppcoreguidelines-c-copy-assignment-signature,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-misleading-capture-default-by-value,
cppcoreguidelines-noexcept-destructor,
cppcoreguidelines-prefer-member-initializer,
Expand All @@ -32,6 +34,7 @@ Checks: >
misc-unused-alias-decls,
misc-unused-using-decls,
modernize-avoid-variadic-functions,
modernize-loop-convert,
modernize-macro-to-enum,
modernize-redundant-void-arg,
modernize-type-traits,
Expand Down Expand Up @@ -72,6 +75,7 @@ Checks: >
# modernize-use-override
# modernize-use-ranges
# readability-avoid-return-with-void-value
# readability-convert-member-functions-to-static
# readability-redundant-smartptr-get
# readability-use-anyofallof

Expand Down
2 changes: 2 additions & 0 deletions src/workerd/api/analytics-engine-impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ void setDoubles(Message msg, kj::ArrayPtr<double> arr, kj::StringPtr errorPrefix

uint index = 1;
for (auto& item: arr) {
// NOLINTNEXTLINE(bugprone-switch-missing-default-case)
switch (index) {
case 1:
msg.setDouble1(item);
Expand Down Expand Up @@ -108,6 +109,7 @@ void setBlobs(Message msg,
sizeSum += value.size();
JSG_REQUIRE(sizeSum <= MAX_CUMULATIVE_BYTES_IN_BLOBS, TypeError, errorPrefix,
"Cumulative size of blobs exceeds ", MAX_CUMULATIVE_BYTES_IN_BLOBS, " bytes).");
// NOLINTNEXTLINE(bugprone-switch-missing-default-case)
switch (index) {
case 1:
msg.setBlob1(value);
Expand Down
3 changes: 2 additions & 1 deletion src/workerd/api/crypto/aes.c++
Original file line number Diff line number Diff line change
Expand Up @@ -475,8 +475,9 @@ class AesCtrKey final: public AesKeyBase {
return *EVP_aes_192_ctr();
case 32:
return *EVP_aes_256_ctr();
default:
KJ_FAIL_ASSERT("CryptoKey has invalid data length");
}
KJ_FAIL_ASSERT("CryptoKey has invalid data length");
}

jsg::BufferSource encryptOrDecrypt(jsg::Lock& js,
Expand Down
4 changes: 2 additions & 2 deletions src/workerd/api/crypto/ec.c++
Original file line number Diff line number Diff line change
Expand Up @@ -1120,9 +1120,9 @@ kj::OneOf<jsg::Ref<CryptoKey>, CryptoKeyPair> EdDsaKey::generateKey(jsg::Lock& j
case NID_X25519:
return generateKeyImpl<X25519_PUBLIC_VALUE_LEN, X25519_keypair>(js, normalizedName, nid,
privateKeyUsages, publicKeyUsages, extractablePrivateKey, "X25519"_kj);
default:
KJ_FAIL_REQUIRE("ED ", normalizedName, " unimplemented", nid);
}

KJ_FAIL_REQUIRE("ED ", normalizedName, " unimplemented", nid);
}

} // namespace
Expand Down
3 changes: 3 additions & 0 deletions src/workerd/api/crypto/impl.c++
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ kj::Vector<kj::OneOf<kj::StringPtr, OpensslUntranslatedError>> consumeAllOpenssl
switch (ERR_GET_REASON(error)) {
case RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN:
return "Invalid RSA signature."_kj;
default:
}
break;
case ERR_LIB_EC:
Expand All @@ -149,8 +150,10 @@ kj::Vector<kj::OneOf<kj::StringPtr, OpensslUntranslatedError>> consumeAllOpenssl
return "Point is not on curve."_kj;
case EC_R_UNKNOWN_GROUP:
return "Unsupported elliptic curve group."_kj;
default:
}
break;
default:
}

return OpensslUntranslatedError{
Expand Down
7 changes: 3 additions & 4 deletions src/workerd/api/crypto/jwk.c++
Original file line number Diff line number Diff line change
Expand Up @@ -285,12 +285,11 @@ JsonWebKey toJwk(const EVPKeyPointer& key, KeyType keyType) {
// DSA keys are not supported for JWK export.
break;
}
default:
break;
}
}

return JsonWebKey{
.kty = kj::str("INVALID"),
};
return JsonWebKey{.kty = kj::str("INVALID")};
}

EVPKeyPointer fromJwk(const JsonWebKey& jwk, KeyType keyType) {
Expand Down
1 change: 1 addition & 0 deletions src/workerd/api/crypto/x509.c++
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,7 @@ jsg::JsObject X509Certificate::toLegacyObject(jsg::Lock& js) {
}
break;
}
default:
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/workerd/api/form-data.c++
Original file line number Diff line number Diff line change
Expand Up @@ -512,8 +512,7 @@ void FormData::forEach(jsg::Lock& js,
// it up. Using the classic for (;;) syntax here allows for that. However, this does
// mean that it's possible for a user to trigger an infinite loop here if new items
// are added to the search params unconditionally on each iteration.
for (size_t i = 0; i < this->data.size(); i++) {
auto& [key, value] = this->data[i];
for (auto& [key, value]: this->data) {
callback(js, clone(js, value), key, JSG_THIS);
}
}
Expand Down
6 changes: 5 additions & 1 deletion src/workerd/api/node/exceptions.c++
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,11 @@ namespace {
case UV_##name: \
return js.str(#name##_kj);
jsg::JsValue uv_err_name(jsg::Lock& js, int err) {
switch (err) { UV_ERRNO_MAP(UV_ERR_NAME_GEN) }
switch (err) {
UV_ERRNO_MAP(UV_ERR_NAME_GEN)
default:
break;
}
return js.str("UNKNOWN"_kj);
}
#undef UV_ERR_NAME_GEN
Expand Down
3 changes: 1 addition & 2 deletions src/workerd/api/url.c++
Original file line number Diff line number Diff line change
Expand Up @@ -623,8 +623,7 @@ void URLSearchParams::forEach(jsg::Lock& js,
// it up. Using the classic for (;;) syntax here allows for that. However, this does
// mean that it's possible for a user to trigger an infinite loop here if new items
// are added to the search params unconditionally on each iteration.
for (size_t i = 0; i < this->url->query.size(); i++) {
auto& [key, value] = this->url->query[i];
for (auto& [key, value]: this->url->query) {
callback(js, value, key, JSG_THIS);
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/workerd/io/trace.c++
Original file line number Diff line number Diff line change
Expand Up @@ -1156,8 +1156,8 @@ kj::Maybe<kj::Array<kj::String>> getScriptTagsFromReader(const rpc::Trace::Onset
if (reader.hasScriptTags()) {
auto tags = reader.getScriptTags();
kj::Vector<kj::String> scriptTags(tags.size());
for (size_t i = 0; i < tags.size(); i++) {
scriptTags.add(kj::str(tags[i]));
for (auto&& tag: tags) {
scriptTags.add(kj::str(tag));
}
return kj::Maybe(scriptTags.releaseAsArray());
}
Expand Down Expand Up @@ -1339,8 +1339,8 @@ TailEvent::Event readEventFromTailEvent(const rpc::Trace::TailEvent::Reader& rea
case rpc::Trace::TailEvent::Event::ATTRIBUTE: {
auto listReader = event.getAttribute();
kj::Vector<Attribute> attrs(listReader.size());
for (size_t n = 0; n < listReader.size(); n++) {
attrs.add(Attribute(listReader[n]));
for (auto&& reader: listReader) {
attrs.add(Attribute(reader));
}
return attrs.releaseAsArray();
}
Expand Down
4 changes: 2 additions & 2 deletions src/workerd/jsg/url-test.c++
Original file line number Diff line number Diff line change
Expand Up @@ -1215,8 +1215,8 @@ KJ_TEST("Special scheme URLS") {
kj::str("file:///example"),
};

for (auto n = 0; n < kj::size(tests); n++) {
KJ_ASSERT_NONNULL(Url::tryParse(tests[n].asPtr()));
for (const auto& test: tests) {
KJ_ASSERT_NONNULL(Url::tryParse(test.asPtr()));
}
}

Expand Down
3 changes: 2 additions & 1 deletion src/workerd/jsg/value-test.c++
Original file line number Diff line number Diff line change
Expand Up @@ -1219,8 +1219,9 @@ struct ExceptionContext: public ContextGlobalObject {
return JSG_KJ_EXCEPTION(FAILED, TypeError, "boom");
case 2:
return JSG_KJ_EXCEPTION(FAILED, DOMAbortError, "boom");
default:
KJ_UNREACHABLE;
}
KJ_UNREACHABLE;
}

JSG_RESOURCE_TYPE(ExceptionContext) {
Expand Down
3 changes: 1 addition & 2 deletions src/workerd/tests/bench-api-headers.c++
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,7 @@ BENCHMARK_F(ApiHeaders, set_append)(benchmark::State& state) {
for (size_t i = 0; i < 1000; ++i) {
auto headers = js.alloc<api::Headers>();
// Set common headers with various representative lengths
for (int n = 0; n < 13; n++) {
auto& h = kHeaders[n];
for (auto& h: kHeaders) {
if (h.append) {
headers->append(env.js, kj::str(h.name), kj::str(h.value));
} else {
Expand Down
3 changes: 2 additions & 1 deletion src/workerd/util/sqlite.c++
Original file line number Diff line number Diff line change
Expand Up @@ -1554,8 +1554,9 @@ SqliteDatabase::Query::ValuePtr SqliteDatabase::Query::getValue(uint column) {
return getBlob(column);
case SQLITE_NULL:
return nullptr;
default:
KJ_UNREACHABLE;
}
KJ_UNREACHABLE;
}

kj::StringPtr SqliteDatabase::Query::getColumnName(uint column) {
Expand Down
Loading