diff --git a/crypto/ecdh.c b/crypto/ecdh.c index a6e1a5d43fa7a2bc54b7527b3003791a6f7f51df..2a6b8365e32e916412b2ee99117306f993d9f851 100644 --- a/crypto/ecdh.c +++ b/crypto/ecdh.c @@ -53,6 +53,8 @@ static int ecdh_set_secret(struct crypto_kpp *tfm, const void *buf, ctx->curve_id = params.curve_id; ctx->ndigits = ndigits; + memset(ctx->private_key, 0, sizeof(ctx->private_key)); + if (!params.key || !params.key_size) return ecc_gen_privkey(ctx->curve_id, ctx->ndigits, ctx->private_key);