diff options
author | Nick Zitzmann <nickzman@gmail.com> | 2020-02-23 20:23:52 -0600 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-03-02 23:02:35 +0100 |
commit | 0b337ecc91f30188987dc441dc1fc67446a86676 (patch) | |
tree | 21834b7b414404e2c930f0e63a87cb960a9367e2 | |
parent | 0e539970e423fb562a42de6e5aa3f4cd3866999b (diff) |
md4: use init/update/final functions in Secure Transport
We can use CC_MD4_Init/Update/Final without having to allocate memory
directly.
Closes #4979
-rw-r--r-- | lib/md4.c | 28 |
1 files changed, 8 insertions, 20 deletions
@@ -97,7 +97,10 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) /* When OpenSSL is available we use the MD4-functions from OpenSSL */ #include <openssl/md4.h> -#elif defined(USE_SECTRANSP) +#elif (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && \ + (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)) || \ + (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && \ + (__IPHONE_OS_VERSION_MAX_ALLOWED >= 20000)) #include <CommonCrypto/CommonDigest.h> @@ -106,36 +109,21 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) /* The last #include file should be: */ #include "memdebug.h" -typedef struct { - void *data; - unsigned long size; -} MD4_CTX; +typedef CC_MD4_CTX MD4_CTX; static void MD4_Init(MD4_CTX *ctx) { - ctx->data = NULL; - ctx->size = 0; + (void)CC_MD4_Init(ctx); } static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size) { - if(ctx->data == NULL) { - ctx->data = malloc(size); - if(ctx->data != NULL) { - memcpy(ctx->data, data, size); - ctx->size = size; - } - } + (void)CC_MD4_Update(ctx, data, (CC_LONG)size); } static void MD4_Final(unsigned char *result, MD4_CTX *ctx) { - if(ctx->data != NULL) { - (void)CC_MD4(ctx->data, (CC_LONG) ctx->size, result); - - Curl_safefree(ctx->data); - ctx->size = 0; - } + (void)CC_MD4_Final(result, ctx); } #elif defined(USE_WIN32_CRYPTO) |