Skip to content

Commit ba3c557

Browse files
uudiinherbertx
authored andcommitted
crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init
When the mpi_ec_ctx structure is initialized, some fields are not cleared, causing a crash when referencing the field when the structure was released. Initially, this issue was ignored because memory for mpi_ec_ctx is allocated with the __GFP_ZERO flag. For example, this error will be triggered when calculating the Za value for SM2 separately. Fixes: d58bb7e ("lib/mpi: Introduce ec implementation to MPI library") Cc: [email protected] # v6.5 Signed-off-by: Tianjia Zhang <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent ae3bed7 commit ba3c557

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

lib/crypto/mpi/ec.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,9 @@ void mpi_ec_init(struct mpi_ec_ctx *ctx, enum gcry_mpi_ec_models model,
584584
ctx->a = mpi_copy(a);
585585
ctx->b = mpi_copy(b);
586586

587+
ctx->d = NULL;
588+
ctx->t.two_inv_p = NULL;
589+
587590
ctx->t.p_barrett = use_barrett > 0 ? mpi_barrett_init(ctx->p, 0) : NULL;
588591

589592
mpi_ec_get_reset(ctx);

0 commit comments

Comments
 (0)