diff --git a/linuxkm/lkcapi_sha_glue.c b/linuxkm/lkcapi_sha_glue.c index 8d0435a2da..bebfa0fbb4 100644 --- a/linuxkm/lkcapi_sha_glue.c +++ b/linuxkm/lkcapi_sha_glue.c @@ -865,8 +865,10 @@ WC_MAYBE_UNUSED static int km_hmac_finup(struct shash_desc *desc, const u8 *data int ret = wc_HmacUpdate(ctx->wc_hmac, data, len); - if (ret != 0) + if (ret != 0) { + km_hmac_free_tstate(ctx); return -EINVAL; + } return km_hmac_final(desc, out); }