From: Dr. Stephen Henson Date: Mon, 24 Jan 2011 14:42:11 +0000 (+0000) Subject: PR: 1612 X-Git-Tag: OpenSSL_0_9_8r~6 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6056afd223dc7ed9c1b159c54a2a91ba503d5368;p=oweals%2Fopenssl.git PR: 1612 Submitted by: Robert Jackson Reviewed by: steve Fix EC_POINT_cmp function for case where b but not a is the point at infinity. --- diff --git a/crypto/ec/ec2_smpl.c b/crypto/ec/ec2_smpl.c index 522d036ca1..1aae1997d8 100644 --- a/crypto/ec/ec2_smpl.c +++ b/crypto/ec/ec2_smpl.c @@ -871,6 +871,9 @@ int ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT { return EC_POINT_is_at_infinity(group, b) ? 0 : 1; } + + if (EC_POINT_is_at_infinity(group, b)) + return 1; if (a->Z_is_one && b->Z_is_one) { diff --git a/crypto/ec/ecp_smpl.c b/crypto/ec/ecp_smpl.c index 4d26f8bdf6..66a92e2a90 100644 --- a/crypto/ec/ecp_smpl.c +++ b/crypto/ec/ecp_smpl.c @@ -1406,6 +1406,9 @@ int ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT * { return EC_POINT_is_at_infinity(group, b) ? 0 : 1; } + + if (EC_POINT_is_at_infinity(group, b)) + return 1; if (a->Z_is_one && b->Z_is_one) {