From 2d1c3cf1afb66f3017c1110848155d049bcb9b69 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 30 Jun 2026 01:34:41 +0200 Subject: [PATCH] sync them of up together with sha256 --- lib/md4.c | 13 +++++-------- lib/md5.c | 40 ++++++++++++++++++---------------------- lib/sha256.c | 27 +++++++++++++-------------- 3 files changed, 36 insertions(+), 44 deletions(-) diff --git a/lib/md4.c b/lib/md4.c index d3c4021846..ff783eec21 100644 --- a/lib/md4.c +++ b/lib/md4.c @@ -53,13 +53,11 @@ static int my_md4_init(my_md4_ctx *ctx) if(!*ctx) return 0; - if(EVP_DigestInit_ex(*ctx, EVP_md4(), NULL)) - return 1; - - EVP_MD_CTX_free(*ctx); - *ctx = NULL; - - return 0; + if(!EVP_DigestInit_ex(*ctx, EVP_md4(), NULL)) + EVP_MD_CTX_free(*ctx); + return 0; + } + return 1; } static void my_md4_update(my_md4_ctx *ctx, @@ -72,7 +70,6 @@ static void my_md4_final(unsigned char *digest, my_md4_ctx *ctx) { (void)EVP_DigestFinal_ex(*ctx, digest, NULL); EVP_MD_CTX_free(*ctx); - *ctx = NULL; } #elif defined(USE_WOLFSSL) && !defined(NO_MD4) diff --git a/lib/md5.c b/lib/md5.c index 5fa989dbe7..1d9ca6f7bd 100644 --- a/lib/md5.c +++ b/lib/md5.c @@ -77,38 +77,34 @@ static void my_md5_final(unsigned char *digest, void *ctx) typedef EVP_MD_CTX *my_md5_ctx; -static CURLcode my_md5_init(void *ctx) +static CURLcode my_md5_init(void *in) { - EVP_MD_CTX **pctx = (EVP_MD_CTX **)ctx; - - *pctx = EVP_MD_CTX_new(); - if(!*pctx) + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + *ctx = EVP_MD_CTX_new(); + if(!*ctx) return CURLE_OUT_OF_MEMORY; - if(EVP_DigestInit_ex(*pctx, EVP_md5(), NULL)) - return CURLE_OK; - - EVP_MD_CTX_free(*pctx); - *pctx = NULL; - - return CURLE_FAILED_INIT; + if(!EVP_DigestInit_ex(*ctx, EVP_md5(), NULL)) { + EVP_MD_CTX_free(*ctx); + *ctx = NULL; + return CURLE_FAILED_INIT; + } + return CURLE_OK; } -static void my_md5_update(void *ctx, +static void my_md5_update(void *in, const unsigned char *input, unsigned int len) { - EVP_MD_CTX **pctx = (EVP_MD_CTX **)ctx; - - (void)EVP_DigestUpdate(*pctx, input, len); + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + (void)EVP_DigestUpdate(*ctx, input, len); } -static void my_md5_final(unsigned char *digest, void *ctx) +static void my_md5_final(unsigned char *digest, void *in) { - EVP_MD_CTX **pctx = (EVP_MD_CTX **)ctx; - - (void)EVP_DigestFinal_ex(*pctx, digest, NULL); - EVP_MD_CTX_free(*pctx); - *pctx = NULL; + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + (void)EVP_DigestFinal_ex(*ctx, digest, NULL); + EVP_MD_CTX_free(*ctx); + *ctx = NULL; } #elif defined(USE_WOLFSSL) && !defined(NO_MD5) diff --git a/lib/sha256.c b/lib/sha256.c index e2278d3664..bfe57f1d09 100644 --- a/lib/sha256.c +++ b/lib/sha256.c @@ -53,20 +53,18 @@ #ifdef USE_OPENSSL #include -struct ossl_sha256_ctx { - EVP_MD_CTX *openssl_ctx; -}; -typedef struct ossl_sha256_ctx my_sha256_ctx; +typedef EVP_MD_CTX *my_sha256_ctx; static CURLcode my_sha256_init(void *in) { - my_sha256_ctx *ctx = (my_sha256_ctx *)in; - ctx->openssl_ctx = EVP_MD_CTX_new(); - if(!ctx->openssl_ctx) + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + *ctx = EVP_MD_CTX_new(); + if(!*ctx) return CURLE_OUT_OF_MEMORY; - if(!EVP_DigestInit_ex(ctx->openssl_ctx, EVP_sha256(), NULL)) { - EVP_MD_CTX_free(ctx->openssl_ctx); + if(!EVP_DigestInit_ex(*ctx, EVP_sha256(), NULL)) { + EVP_MD_CTX_free(*ctx); + *ctx = NULL; return CURLE_FAILED_INIT; } return CURLE_OK; @@ -76,15 +74,16 @@ static void my_sha256_update(void *in, const unsigned char *data, unsigned int length) { - my_sha256_ctx *ctx = (my_sha256_ctx *)in; - EVP_DigestUpdate(ctx->openssl_ctx, data, length); + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + (void)EVP_DigestUpdate(*ctx, data, length); } static void my_sha256_final(unsigned char *digest, void *in) { - my_sha256_ctx *ctx = (my_sha256_ctx *)in; - EVP_DigestFinal_ex(ctx->openssl_ctx, digest, NULL); - EVP_MD_CTX_free(ctx->openssl_ctx); + EVP_MD_CTX **ctx = (EVP_MD_CTX **)in; + (void)EVP_DigestFinal_ex(*ctx, digest, NULL); + EVP_MD_CTX_free(*ctx); + *ctx = NULL; } #elif defined(USE_WOLFSSL)