Change EVP_MAC method from copy to dup
[openssl.git] / crypto / blake2 / blake2b_mac.c
index 71b8517885d8d202c898e0b113833d93e09f12a9..f6025b1f7012263623444d3a8fb8ddd2f4ad258b 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef OPENSSL_NO_BLAKE2
 
 # include <openssl/evp.h>
-# include "blake2_locl.h"
+# include "internal/blake2.h"
 # include "internal/cryptlib.h"
 # include "internal/evp_int.h"
 
@@ -26,7 +26,7 @@ static EVP_MAC_IMPL *blake2b_mac_new(void)
     EVP_MAC_IMPL *macctx = OPENSSL_zalloc(sizeof(*macctx));
     if (macctx != NULL) {
         blake2b_param_init(&macctx->params);
-        /* ctx initialization is deferred to BLAKE2b_Init() */
+        /* ctx initialization is deferred to blake2b_init() */
     }
     return macctx;
 }
@@ -39,10 +39,16 @@ static void blake2b_mac_free(EVP_MAC_IMPL *macctx)
     }
 }
 
-static int blake2b_mac_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src)
+static EVP_MAC_IMPL *blake2b_mac_dup(const EVP_MAC_IMPL *src)
 {
+    EVP_MAC_IMPL *dst;
+
+    dst = OPENSSL_zalloc(sizeof(*dst));
+    if (dst == NULL)
+        return NULL;
+
     *dst = *src;
-    return 1;
+    return dst;
 }
 
 static int blake2b_mac_init(EVP_MAC_IMPL *macctx)
@@ -53,18 +59,18 @@ static int blake2b_mac_init(EVP_MAC_IMPL *macctx)
         return 0;
     }
 
-    return BLAKE2b_Init_key(&macctx->ctx, &macctx->params, macctx->key);
+    return blake2b_init_key(&macctx->ctx, &macctx->params, macctx->key);
 }
 
 static int blake2b_mac_update(EVP_MAC_IMPL *macctx, const unsigned char *data,
                               size_t datalen)
 {
-    return BLAKE2b_Update(&macctx->ctx, data, datalen);
+    return blake2b_update(&macctx->ctx, data, datalen);
 }
 
 static int blake2b_mac_final(EVP_MAC_IMPL *macctx, unsigned char *out)
 {
-    return BLAKE2b_Final(out, &macctx->ctx);
+    return blake2b_final(out, &macctx->ctx);
 }
 
 /*
@@ -177,7 +183,7 @@ static size_t blake2b_mac_size(EVP_MAC_IMPL *macctx)
 const EVP_MAC blake2b_mac_meth = {
     EVP_MAC_BLAKE2B,
     blake2b_mac_new,
-    blake2b_mac_copy,
+    blake2b_mac_dup,
     blake2b_mac_free,
     blake2b_mac_size,
     blake2b_mac_init,