Call single parent free_comp routine.
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
This commit is contained in:
parent
9aa00b187a
commit
2c52ac9bfe
@ -308,6 +308,8 @@ NISTP521_PRE_COMP *EC_nistp521_pre_comp_dup(NISTP521_PRE_COMP *);
|
|||||||
NISTZ256_PRE_COMP *EC_nistz256_pre_comp_dup(NISTZ256_PRE_COMP *);
|
NISTZ256_PRE_COMP *EC_nistz256_pre_comp_dup(NISTZ256_PRE_COMP *);
|
||||||
NISTP256_PRE_COMP *EC_nistp256_pre_comp_dup(NISTP256_PRE_COMP *);
|
NISTP256_PRE_COMP *EC_nistp256_pre_comp_dup(NISTP256_PRE_COMP *);
|
||||||
EC_PRE_COMP *EC_ec_pre_comp_dup(EC_PRE_COMP *);
|
EC_PRE_COMP *EC_ec_pre_comp_dup(EC_PRE_COMP *);
|
||||||
|
|
||||||
|
void EC_pre_comp_free(EC_GROUP *group);
|
||||||
void EC_nistp224_pre_comp_free(NISTP224_PRE_COMP *);
|
void EC_nistp224_pre_comp_free(NISTP224_PRE_COMP *);
|
||||||
void EC_nistp256_pre_comp_free(NISTP256_PRE_COMP *);
|
void EC_nistp256_pre_comp_free(NISTP256_PRE_COMP *);
|
||||||
void EC_nistp521_pre_comp_free(NISTP521_PRE_COMP *);
|
void EC_nistp521_pre_comp_free(NISTP521_PRE_COMP *);
|
||||||
|
@ -109,7 +109,7 @@ EC_GROUP *EC_GROUP_new(const EC_METHOD *meth)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ec_group_free_precomp(EC_GROUP *group)
|
void EC_pre_comp_free(EC_GROUP *group)
|
||||||
{
|
{
|
||||||
switch (group->pre_comp_type) {
|
switch (group->pre_comp_type) {
|
||||||
default:
|
default:
|
||||||
@ -145,7 +145,7 @@ void EC_GROUP_free(EC_GROUP *group)
|
|||||||
if (group->meth->group_finish != 0)
|
if (group->meth->group_finish != 0)
|
||||||
group->meth->group_finish(group);
|
group->meth->group_finish(group);
|
||||||
|
|
||||||
ec_group_free_precomp(group);
|
EC_pre_comp_free(group);
|
||||||
BN_MONT_CTX_free(group->mont_data);
|
BN_MONT_CTX_free(group->mont_data);
|
||||||
EC_POINT_free(group->generator);
|
EC_POINT_free(group->generator);
|
||||||
BN_free(group->order);
|
BN_free(group->order);
|
||||||
@ -164,7 +164,7 @@ void EC_GROUP_clear_free(EC_GROUP *group)
|
|||||||
else if (group->meth->group_finish != 0)
|
else if (group->meth->group_finish != 0)
|
||||||
group->meth->group_finish(group);
|
group->meth->group_finish(group);
|
||||||
|
|
||||||
ec_group_free_precomp(group);
|
EC_pre_comp_free(group);
|
||||||
BN_MONT_CTX_free(group->mont_data);
|
BN_MONT_CTX_free(group->mont_data);
|
||||||
EC_POINT_clear_free(group->generator);
|
EC_POINT_clear_free(group->generator);
|
||||||
BN_clear_free(group->order);
|
BN_clear_free(group->order);
|
||||||
|
@ -562,7 +562,7 @@ int ec_wNAF_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
/* if there is an old EC_PRE_COMP object, throw it away */
|
/* if there is an old EC_PRE_COMP object, throw it away */
|
||||||
EC_ec_pre_comp_free(group->pre_comp.ec);
|
EC_pre_comp_free(group);
|
||||||
if ((pre_comp = ec_pre_comp_new(group)) == NULL)
|
if ((pre_comp = ec_pre_comp_new(group)) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -1559,8 +1559,7 @@ int ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
|||||||
felem tmp_felems[32];
|
felem tmp_felems[32];
|
||||||
|
|
||||||
/* throw away old precomputation */
|
/* throw away old precomputation */
|
||||||
EC_nistp224_pre_comp_free(group->pre_comp.nistp224);
|
EC_pre_comp_free(group);
|
||||||
group->pre_comp.nistp224 = NULL;
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2184,8 +2184,7 @@ int ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
|||||||
felem x_tmp, y_tmp, z_tmp;
|
felem x_tmp, y_tmp, z_tmp;
|
||||||
|
|
||||||
/* throw away old precomputation */
|
/* throw away old precomputation */
|
||||||
EC_nistp256_pre_comp_free(group->pre_comp.nistp256);
|
EC_pre_comp_free(group);
|
||||||
group->pre_comp.nistp256 = NULL;
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2008,8 +2008,7 @@ int ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
|||||||
felem tmp_felems[16];
|
felem tmp_felems[16];
|
||||||
|
|
||||||
/* throw away old precomputation */
|
/* throw away old precomputation */
|
||||||
EC_nistp521_pre_comp_free(group->pre_comp.nistp521);
|
EC_pre_comp_free(group);
|
||||||
group->pre_comp.nistp521 = NULL;
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
if ((ctx = new_ctx = BN_CTX_new()) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -769,8 +769,7 @@ __owur static int ecp_nistz256_mult_precompute(EC_GROUP *group, BN_CTX *ctx)
|
|||||||
unsigned char *precomp_storage = NULL;
|
unsigned char *precomp_storage = NULL;
|
||||||
|
|
||||||
/* if there is an old NISTZ256_PRE_COMP object, throw it away */
|
/* if there is an old NISTZ256_PRE_COMP object, throw it away */
|
||||||
EC_nistz256_pre_comp_free(group->pre_comp.nistz256);
|
EC_pre_comp_free(group);
|
||||||
group->pre_comp.nistz256 = NULL;
|
|
||||||
generator = EC_GROUP_get0_generator(group);
|
generator = EC_GROUP_get0_generator(group);
|
||||||
if (generator == NULL) {
|
if (generator == NULL) {
|
||||||
ECerr(EC_F_ECP_NISTZ256_MULT_PRECOMPUTE, EC_R_UNDEFINED_GENERATOR);
|
ECerr(EC_F_ECP_NISTZ256_MULT_PRECOMPUTE, EC_R_UNDEFINED_GENERATOR);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user