summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_mult.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec_mult.c')
-rw-r--r--src/lib/libcrypto/ec/ec_mult.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/libcrypto/ec/ec_mult.c b/src/lib/libcrypto/ec/ec_mult.c
index 603ba31b81..4dbc931120 100644
--- a/src/lib/libcrypto/ec/ec_mult.c
+++ b/src/lib/libcrypto/ec/ec_mult.c
@@ -209,6 +209,17 @@ int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
209 EC_POINT ***val_sub = NULL; /* pointers to sub-arrays of 'val' */ 209 EC_POINT ***val_sub = NULL; /* pointers to sub-arrays of 'val' */
210 int ret = 0; 210 int ret = 0;
211 211
212 if (group->meth != r->meth)
213 {
214 ECerr(EC_F_EC_POINTS_MUL, EC_R_INCOMPATIBLE_OBJECTS);
215 return 0;
216 }
217
218 if ((scalar == NULL) && (num == 0))
219 {
220 return EC_POINT_set_to_infinity(group, r);
221 }
222
212 if (scalar != NULL) 223 if (scalar != NULL)
213 { 224 {
214 generator = EC_GROUP_get0_generator(group); 225 generator = EC_GROUP_get0_generator(group);