diff options
Diffstat (limited to 'src/lib/libcrypto/ec')
-rw-r--r-- | src/lib/libcrypto/ec/ec2_smpl.c | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ec_mult.c | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ecp_smpl.c | 3 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/libcrypto/ec/ec2_smpl.c b/src/lib/libcrypto/ec/ec2_smpl.c index cf357b462a..af94458ca7 100644 --- a/src/lib/libcrypto/ec/ec2_smpl.c +++ b/src/lib/libcrypto/ec/ec2_smpl.c | |||
@@ -937,6 +937,9 @@ int ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT | |||
937 | { | 937 | { |
938 | return EC_POINT_is_at_infinity(group, b) ? 0 : 1; | 938 | return EC_POINT_is_at_infinity(group, b) ? 0 : 1; |
939 | } | 939 | } |
940 | |||
941 | if (EC_POINT_is_at_infinity(group, b)) | ||
942 | return 1; | ||
940 | 943 | ||
941 | if (a->Z_is_one && b->Z_is_one) | 944 | if (a->Z_is_one && b->Z_is_one) |
942 | { | 945 | { |
diff --git a/src/lib/libcrypto/ec/ec_mult.c b/src/lib/libcrypto/ec/ec_mult.c index f05df5332e..19f21675fb 100644 --- a/src/lib/libcrypto/ec/ec_mult.c +++ b/src/lib/libcrypto/ec/ec_mult.c | |||
@@ -169,11 +169,13 @@ static void ec_pre_comp_clear_free(void *pre_) | |||
169 | EC_POINT **p; | 169 | EC_POINT **p; |
170 | 170 | ||
171 | for (p = pre->points; *p != NULL; p++) | 171 | for (p = pre->points; *p != NULL; p++) |
172 | { | ||
172 | EC_POINT_clear_free(*p); | 173 | EC_POINT_clear_free(*p); |
173 | OPENSSL_cleanse(pre->points, sizeof pre->points); | 174 | OPENSSL_cleanse(p, sizeof *p); |
175 | } | ||
174 | OPENSSL_free(pre->points); | 176 | OPENSSL_free(pre->points); |
175 | } | 177 | } |
176 | OPENSSL_cleanse(pre, sizeof pre); | 178 | OPENSSL_cleanse(pre, sizeof *pre); |
177 | OPENSSL_free(pre); | 179 | OPENSSL_free(pre); |
178 | } | 180 | } |
179 | 181 | ||
diff --git a/src/lib/libcrypto/ec/ecp_smpl.c b/src/lib/libcrypto/ec/ecp_smpl.c index 4d26f8bdf6..66a92e2a90 100644 --- a/src/lib/libcrypto/ec/ecp_smpl.c +++ b/src/lib/libcrypto/ec/ecp_smpl.c | |||
@@ -1406,6 +1406,9 @@ int ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT * | |||
1406 | { | 1406 | { |
1407 | return EC_POINT_is_at_infinity(group, b) ? 0 : 1; | 1407 | return EC_POINT_is_at_infinity(group, b) ? 0 : 1; |
1408 | } | 1408 | } |
1409 | |||
1410 | if (EC_POINT_is_at_infinity(group, b)) | ||
1411 | return 1; | ||
1409 | 1412 | ||
1410 | if (a->Z_is_one && b->Z_is_one) | 1413 | if (a->Z_is_one && b->Z_is_one) |
1411 | { | 1414 | { |