summaryrefslogtreecommitdiffstats
path: root/providers/implementations/kdfs/kbkdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'providers/implementations/kdfs/kbkdf.c')
-rw-r--r--providers/implementations/kdfs/kbkdf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/providers/implementations/kdfs/kbkdf.c b/providers/implementations/kdfs/kbkdf.c
index 920f0d9af3..f3f3d9a609 100644
--- a/providers/implementations/kdfs/kbkdf.c
+++ b/providers/implementations/kdfs/kbkdf.c
@@ -122,6 +122,7 @@ static void kbkdf_free(void *vctx)
static void kbkdf_reset(void *vctx)
{
KBKDF *ctx = (KBKDF *)vctx;
+ void *provctx = ctx->provctx;
EVP_MAC_free_ctx(ctx->ctx_init);
OPENSSL_clear_free(ctx->context, ctx->context_len);
@@ -129,6 +130,7 @@ static void kbkdf_reset(void *vctx)
OPENSSL_clear_free(ctx->ki, ctx->ki_len);
OPENSSL_clear_free(ctx->iv, ctx->iv_len);
memset(ctx, 0, sizeof(*ctx));
+ ctx->provctx = provctx;
}
/* SP800-108 section 5.1 or section 5.2 depending on mode. */