From: Dr. Stephen Henson Date: Mon, 24 Jan 2011 14:41:49 +0000 (+0000) Subject: PR: 1612 X-Git-Tag: OpenSSL_1_0_1-beta1~387 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=913488c066998bfecaf5254f3dc60fc62cd1c6ac;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 cf357b462a..af94458ca7 100644 --- a/crypto/ec/ec2_smpl.c +++ b/crypto/ec/ec2_smpl.c @@ -937,6 +937,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) {