fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT

This commit is contained in:
Chris Conlon
2016-10-07 14:14:50 -06:00
parent ef5f55f6e4
commit ab966a72da

View File

@ -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;