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 /lib | |
| 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
Diffstat (limited to 'lib')
| -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) | 
