forked from wolfSSL/wolfssl
fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT
This commit is contained in:
@ -3811,22 +3811,27 @@ static int ecc_check_privkey_gen(ecc_key* key, mp_int* a, mp_int* prime)
|
|||||||
static int ecc_check_privkey_gen_helper(ecc_key* key)
|
static int ecc_check_privkey_gen_helper(ecc_key* key)
|
||||||
{
|
{
|
||||||
mp_int prime;
|
mp_int prime;
|
||||||
|
mp_int a;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (key == NULL)
|
if (key == NULL)
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
|
||||||
err = mp_init(&prime);
|
err = mp_init_multi(&prime, &a, NULL, NULL, NULL, NULL);
|
||||||
if (err != MP_OKAY)
|
if (err != MP_OKAY)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
err = mp_read_radix(&prime, key->dp->prime, 16);
|
err = mp_read_radix(&prime, key->dp->prime, 16);
|
||||||
|
|
||||||
if (err == MP_OKAY)
|
if (err == MP_OKAY)
|
||||||
err = ecc_check_privkey_gen(key, &prime);
|
err = mp_read_radix(&a, key->dp->Af, 16);
|
||||||
|
|
||||||
|
if (err == MP_OKAY)
|
||||||
|
err = ecc_check_privkey_gen(key, &a, &prime);
|
||||||
|
|
||||||
#ifndef USE_FAST_MATH
|
#ifndef USE_FAST_MATH
|
||||||
mp_clear(&prime);
|
mp_clear(&prime);
|
||||||
|
mp_clear(&a);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
Reference in New Issue
Block a user