From: Frank Lichtenheld Date: Mon, 22 Sep 2025 20:40:53 +0000 (+0200) Subject: Handle return type of EVP_MD_size X-Git-Tag: v2.7_beta2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ab20eceeaabd74f4b4f7d765d7a31375c317ee5c;p=thirdparty%2Fopenvpn.git Handle return type of EVP_MD_size Return type is int, but we often use it in contexts where we expect size_t. So just cast it. Nothing else to do really. Change-Id: I22b93c807f1be99fab450708f686fce4aa6d5cef Signed-off-by: Frank Lichtenheld Acked-by: Gert Doering Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1133 Message-Id: <20250922204059.23226-1-gert@greenie.muc.de> URL: https://sourceforge.net/p/openvpn/mailman/message/59237213/ Signed-off-by: Gert Doering --- diff --git a/src/openvpn/crypto_openssl.c b/src/openvpn/crypto_openssl.c index 1f95fba1e..2d0265abf 100644 --- a/src/openvpn/crypto_openssl.c +++ b/src/openvpn/crypto_openssl.c @@ -1273,7 +1273,7 @@ hmac_ctx_init(hmac_ctx_t *ctx, const uint8_t *key, const char *mdname) /* We need to make a copy of the key since the OSSL parameters * only reference it */ - memcpy(ctx->key, key, EVP_MD_size(kt)); + memcpy(ctx->key, key, (size_t)EVP_MD_size(kt)); /* Lookup/setting of parameters in OpenSSL 3.0 are string based * @@ -1282,7 +1282,7 @@ hmac_ctx_init(hmac_ctx_t *ctx, const uint8_t *key, const char *mdname) * the constness away here. */ ctx->params[0] = OSSL_PARAM_construct_utf8_string("digest", (char *)EVP_MD_get0_name(kt), 0); - ctx->params[1] = OSSL_PARAM_construct_octet_string("key", ctx->key, EVP_MD_size(kt)); + ctx->params[1] = OSSL_PARAM_construct_octet_string("key", ctx->key, (size_t)EVP_MD_size(kt)); ctx->params[2] = OSSL_PARAM_construct_end(); if (!EVP_MAC_init(ctx->ctx, NULL, 0, ctx->params)) diff --git a/src/openvpn/ssl_verify_openssl.c b/src/openvpn/ssl_verify_openssl.c index 7a7b21ec9..f1b890297 100644 --- a/src/openvpn/ssl_verify_openssl.c +++ b/src/openvpn/ssl_verify_openssl.c @@ -341,7 +341,7 @@ struct buffer x509_get_sha1_fingerprint(X509 *cert, struct gc_arena *gc) { const EVP_MD *sha1 = EVP_sha1(); - struct buffer hash = alloc_buf_gc(EVP_MD_size(sha1), gc); + struct buffer hash = alloc_buf_gc((size_t)EVP_MD_size(sha1), gc); X509_digest(cert, EVP_sha1(), BPTR(&hash), NULL); ASSERT(buf_inc_len(&hash, EVP_MD_size(sha1))); return hash; @@ -351,7 +351,7 @@ struct buffer x509_get_sha256_fingerprint(X509 *cert, struct gc_arena *gc) { const EVP_MD *sha256 = EVP_sha256(); - struct buffer hash = alloc_buf_gc(EVP_MD_size(sha256), gc); + struct buffer hash = alloc_buf_gc((size_t)EVP_MD_size(sha256), gc); X509_digest(cert, EVP_sha256(), BPTR(&hash), NULL); ASSERT(buf_inc_len(&hash, EVP_MD_size(sha256))); return hash; diff --git a/src/openvpn/xkey_helper.c b/src/openvpn/xkey_helper.c index 72a24b534..29208a090 100644 --- a/src/openvpn/xkey_helper.c +++ b/src/openvpn/xkey_helper.c @@ -351,7 +351,7 @@ encode_pkcs1(unsigned char *enc, size_t *enc_len, const char *mdname, const unsi } } - if (tbslen != EVP_MD_size(EVP_get_digestbyname(mdname))) + if (tbslen != (size_t)EVP_MD_size(EVP_get_digestbyname(mdname))) { msg(M_WARN, "Error: encode_pkcs11: invalid input length <%zu>", tbslen); goto done;