summaryrefslogtreecommitdiffstats
path: root/providers/implementations/ciphers/cipher_sm4_gcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'providers/implementations/ciphers/cipher_sm4_gcm.c')
-rw-r--r--providers/implementations/ciphers/cipher_sm4_gcm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/providers/implementations/ciphers/cipher_sm4_gcm.c b/providers/implementations/ciphers/cipher_sm4_gcm.c
index 7a936f00ee..79e1b556d4 100644
--- a/providers/implementations/ciphers/cipher_sm4_gcm.c
+++ b/providers/implementations/ciphers/cipher_sm4_gcm.c
@@ -29,6 +29,15 @@ static void *sm4_gcm_newctx(void *provctx, size_t keybits)
return ctx;
}
+static void *sm4_gcm_dupctx(void *provctx)
+{
+ PROV_SM4_GCM_CTX *ctx = provctx;
+
+ if (ctx == NULL)
+ return NULL;
+ return OPENSSL_memdup(ctx, sizeof(*ctx));
+}
+
static void sm4_gcm_freectx(void *vctx)
{
PROV_SM4_GCM_CTX *ctx = (PROV_SM4_GCM_CTX *)vctx;