summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec_lib.c')
-rw-r--r--src/lib/libcrypto/ec/ec_lib.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ec/ec_lib.c b/src/lib/libcrypto/ec/ec_lib.c
index df9061627e..3442c7a324 100644
--- a/src/lib/libcrypto/ec/ec_lib.c
+++ b/src/lib/libcrypto/ec/ec_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_lib.c,v 1.32 2019/09/29 10:09:09 tb Exp $ */ 1/* $OpenBSD: ec_lib.c,v 1.33 2020/12/04 08:55:30 tb Exp $ */
2/* 2/*
3 * Originally written by Bodo Moeller for the OpenSSL project. 3 * Originally written by Bodo Moeller for the OpenSSL project.
4 */ 4 */
@@ -964,7 +964,13 @@ EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
964 ECerror(EC_R_INCOMPATIBLE_OBJECTS); 964 ECerror(EC_R_INCOMPATIBLE_OBJECTS);
965 return 0; 965 return 0;
966 } 966 }
967 return group->meth->point_set_affine_coordinates(group, point, x, y, ctx); 967 if (!group->meth->point_set_affine_coordinates(group, point, x, y, ctx))
968 return 0;
969 if (EC_POINT_is_on_curve(group, point, ctx) <= 0) {
970 ECerror(EC_R_POINT_IS_NOT_ON_CURVE);
971 return 0;
972 }
973 return 1;
968} 974}
969 975
970#ifndef OPENSSL_NO_EC2M 976#ifndef OPENSSL_NO_EC2M
@@ -980,7 +986,13 @@ EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *point,
980 ECerror(EC_R_INCOMPATIBLE_OBJECTS); 986 ECerror(EC_R_INCOMPATIBLE_OBJECTS);
981 return 0; 987 return 0;
982 } 988 }
983 return group->meth->point_set_affine_coordinates(group, point, x, y, ctx); 989 if (!group->meth->point_set_affine_coordinates(group, point, x, y, ctx))
990 return 0;
991 if (EC_POINT_is_on_curve(group, point, ctx) <= 0) {
992 ECerror(EC_R_POINT_IS_NOT_ON_CURVE);
993 return 0;
994 }
995 return 1;
984} 996}
985#endif 997#endif
986 998