Commit b5b07a0772e for nodejs
commit b5b07a0772e99b6999d37e452fd2a3d023b20ea0
Author: Antoine du Hamel <duhamelantoine1995@gmail.com>
Date: Sat Oct 17 11:19:57 2026 +0200
crypto: use `OPENSSL_SIZE_T` instead of hard coding `int`
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/66752
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
diff --git a/src/crypto/crypto_common.cc b/src/crypto/crypto_common.cc
index ea0747511a1..ad056b5610b 100644
--- a/src/crypto/crypto_common.cc
+++ b/src/crypto/crypto_common.cc
@@ -90,7 +90,7 @@ StackOfX509 CloneSSLCerts(X509Pointer&& cert,
if (!peer_certs) return StackOfX509();
if (cert && !sk_X509_push(peer_certs.get(), cert.release()))
return StackOfX509();
- for (int i = 0; i < sk_X509_num(ssl_certs); i++) {
+ for (OPENSSL_SIZE_T i = 0; i < sk_X509_num(ssl_certs); i++) {
X509Pointer cert(X509_dup(sk_X509_value(ssl_certs, i)));
if (!cert || !sk_X509_push(peer_certs.get(), cert.get()))
return StackOfX509();
@@ -106,7 +106,7 @@ MaybeLocal<Object> AddIssuerChainToObject(X509Pointer* cert,
Environment* const env) {
cert->reset(sk_X509_delete(peer_certs.get(), 0));
for (;;) {
- int i;
+ OPENSSL_SIZE_T i;
for (i = 0; i < sk_X509_num(peer_certs.get()); i++) {
X509View ca(sk_X509_value(peer_certs.get(), i));
if (!cert->view().isIssuedBy(ca)) continue;
diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc
index d314d15cc54..0f26b1ceb54 100644
--- a/src/crypto/crypto_context.cc
+++ b/src/crypto/crypto_context.cc
@@ -152,7 +152,7 @@ int SSL_CTX_use_certificate_chain(SSL_CTX* ctx,
// the CA certificates.
SSL_CTX_clear_extra_chain_certs(ctx);
- for (int i = 0; i < sk_X509_num(extra_certs); i++) {
+ for (OPENSSL_SIZE_T i = 0; i < sk_X509_num(extra_certs); i++) {
X509* ca = sk_X509_value(extra_certs, i);
// NOTE: Increments reference count on `ca`
@@ -2268,7 +2268,7 @@ void SecureContext::LoadPKCS12(const FunctionCallbackInfo<Value>& args) {
}
// Add CA certs too
- for (int i = 0; i < sk_X509_num(extra_certs.get()); i++) {
+ for (OPENSSL_SIZE_T i = 0; i < sk_X509_num(extra_certs.get()); i++) {
X509* ca = sk_X509_value(extra_certs.get(), i);
X509_STORE_add_cert(sc->GetCertStoreOwnedByThisSecureContext(), ca);
diff --git a/src/crypto/crypto_hash.cc b/src/crypto/crypto_hash.cc
index 24d49a6d377..c58c3ac6477 100644
--- a/src/crypto/crypto_hash.cc
+++ b/src/crypto/crypto_hash.cc
@@ -403,7 +403,7 @@ void OneShotDigestWithMD(Environment* env,
enum encoding output_enc = ParseEncoding(isolate, args[4], args[5], HEX);
bool is_xof = (EVP_MD_flags(md) & EVP_MD_FLAG_XOF) != 0;
- int output_length = EVP_MD_size(md);
+ OPENSSL_SIZE_T output_length = EVP_MD_size(md);
// This is to cause hash() to fail when an incorrect
// outputLength option was passed for a non-XOF hash function.
diff --git a/src/crypto/crypto_x509.cc b/src/crypto/crypto_x509.cc
index a1cbeb79453..1198d05dab2 100644
--- a/src/crypto/crypto_x509.cc
+++ b/src/crypto/crypto_x509.cc
@@ -934,7 +934,8 @@ MaybeLocal<Object> X509Certificate::NewWithIssuers(
}
Local<Object> issuer;
- if (issuer_chain != nullptr && start < sk_X509_num(issuer_chain)) {
+ if (issuer_chain != nullptr &&
+ static_cast<OPENSSL_SIZE_T>(start) < sk_X509_num(issuer_chain)) {
X509Pointer issuer_cert =
X509View(sk_X509_value(issuer_chain, start)).clone();
if (!issuer_cert) [[unlikely]] {