diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ec2_smpl.c')
-rw-r--r-- | src/lib/libcrypto/ec/ec2_smpl.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/libcrypto/ec/ec2_smpl.c b/src/lib/libcrypto/ec/ec2_smpl.c index 5cd1eac41f..522d036ca1 100644 --- a/src/lib/libcrypto/ec/ec2_smpl.c +++ b/src/lib/libcrypto/ec/ec2_smpl.c | |||
@@ -174,8 +174,10 @@ int ec_GF2m_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src) | |||
174 | dest->poly[2] = src->poly[2]; | 174 | dest->poly[2] = src->poly[2]; |
175 | dest->poly[3] = src->poly[3]; | 175 | dest->poly[3] = src->poly[3]; |
176 | dest->poly[4] = src->poly[4]; | 176 | dest->poly[4] = src->poly[4]; |
177 | bn_wexpand(&dest->a, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2); | 177 | if(bn_wexpand(&dest->a, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) |
178 | bn_wexpand(&dest->b, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2); | 178 | return 0; |
179 | if(bn_wexpand(&dest->b, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) | ||
180 | return 0; | ||
179 | for (i = dest->a.top; i < dest->a.dmax; i++) dest->a.d[i] = 0; | 181 | for (i = dest->a.top; i < dest->a.dmax; i++) dest->a.d[i] = 0; |
180 | for (i = dest->b.top; i < dest->b.dmax; i++) dest->b.d[i] = 0; | 182 | for (i = dest->b.top; i < dest->b.dmax; i++) dest->b.d[i] = 0; |
181 | return 1; | 183 | return 1; |
@@ -199,12 +201,12 @@ int ec_GF2m_simple_group_set_curve(EC_GROUP *group, | |||
199 | 201 | ||
200 | /* group->a */ | 202 | /* group->a */ |
201 | if (!BN_GF2m_mod_arr(&group->a, a, group->poly)) goto err; | 203 | if (!BN_GF2m_mod_arr(&group->a, a, group->poly)) goto err; |
202 | bn_wexpand(&group->a, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2); | 204 | if(bn_wexpand(&group->a, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) goto err; |
203 | for (i = group->a.top; i < group->a.dmax; i++) group->a.d[i] = 0; | 205 | for (i = group->a.top; i < group->a.dmax; i++) group->a.d[i] = 0; |
204 | 206 | ||
205 | /* group->b */ | 207 | /* group->b */ |
206 | if (!BN_GF2m_mod_arr(&group->b, b, group->poly)) goto err; | 208 | if (!BN_GF2m_mod_arr(&group->b, b, group->poly)) goto err; |
207 | bn_wexpand(&group->b, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2); | 209 | if(bn_wexpand(&group->b, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) goto err; |
208 | for (i = group->b.top; i < group->b.dmax; i++) group->b.d[i] = 0; | 210 | for (i = group->b.top; i < group->b.dmax; i++) group->b.d[i] = 0; |
209 | 211 | ||
210 | ret = 1; | 212 | ret = 1; |