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]] {