summaryrefslogtreecommitdiff
path: root/mac/fira_crypto.c
diff options
context:
space:
mode:
Diffstat (limited to 'mac/fira_crypto.c')
-rwxr-xr-xmac/fira_crypto.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mac/fira_crypto.c b/mac/fira_crypto.c
index 3613c9a..3329a75 100755
--- a/mac/fira_crypto.c
+++ b/mac/fira_crypto.c
@@ -468,9 +468,11 @@ int fira_crypto_rotate_elements(struct fira_crypto *fira_crypto_ctx,
if (r)
goto error_out;
- if (fira_crypto_ctx->base.aead.ctx == NULL)
- r = fira_crypto_aead_set_key(&fira_crypto_ctx->base.aead,
- fira_crypto_ctx->base.derived_payload_key);
+ if (fira_crypto_ctx->base.aead.ctx)
+ fira_crypto_aead_destroy(&fira_crypto_ctx->base.aead);
+
+ r = fira_crypto_aead_set_key(&fira_crypto_ctx->base.aead,
+ fira_crypto_ctx->base.derived_payload_key);
error_out:
memzero_explicit(context, sizeof(context));