From: Herbert Xu Date: Sat, 10 Aug 2024 06:20:59 +0000 (+0800) Subject: crypto: dh - Check mpi_rshift errors X-Git-Tag: v6.12-rc1~231^2~62 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=560efa7fca4f4f5bd390e54d43cd2cd1831c60cd;p=thirdparty%2Flinux.git crypto: dh - Check mpi_rshift errors Now that mpi_rshift can return errors, check them. Fixes: 35d2bf20683f ("crypto: dh - calculate Q from P for the full public key verification") Signed-off-by: Herbert Xu --- diff --git a/crypto/dh.c b/crypto/dh.c index 68d11d66c0b54..afc0fd8477613 100644 --- a/crypto/dh.c +++ b/crypto/dh.c @@ -145,9 +145,9 @@ static int dh_is_pubkey_valid(struct dh_ctx *ctx, MPI y) * ->p is odd, so no need to explicitly subtract one * from it before shifting to the right. */ - mpi_rshift(q, ctx->p, 1); + ret = mpi_rshift(q, ctx->p, 1) ?: + mpi_powm(val, y, q, ctx->p); - ret = mpi_powm(val, y, q, ctx->p); mpi_free(q); if (ret) { mpi_free(val);