From 6056afd223dc7ed9c1b159c54a2a91ba503d5368 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 24 Jan 2011 14:42:11 +0000 Subject: [PATCH] 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. --- crypto/ec/ec2_smpl.c | 3 +++ crypto/ec/ecp_smpl.c | 3 +++ 2 files changed, 6 insertions(+) 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) { -- 2.34.1