mirror of
https://github.com/openssl/openssl.git
synced 2025-04-06 20:20:50 +08:00
Fix state handling of sha3_final for s390x.
The digest life-cycle state diagram has been updated for XOF. Fix the state handling in s390x_sha3_final() according to the updated state diagram. Signed-off-by: Holger Dengler <dengler@linux.ibm.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22221)
This commit is contained in:
parent
7aa45b8bb3
commit
017acc58f6
@ -202,6 +202,10 @@ static int s390x_sha3_final(void *vctx, unsigned char *out, size_t outlen)
|
||||
|
||||
if (!ossl_prov_is_running())
|
||||
return 0;
|
||||
if (!(ctx->xof_state == XOF_STATE_INIT ||
|
||||
ctx->xof_state == XOF_STATE_ABSORB))
|
||||
return 0;
|
||||
ctx->xof_state = XOF_STATE_FINAL;
|
||||
s390x_klmd(ctx->buf, ctx->bufsz, NULL, 0, ctx->pad, ctx->A);
|
||||
memcpy(out, ctx->A, outlen);
|
||||
return 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user