diff options
author | marha <marha@users.sourceforge.net> | 2011-04-13 07:49:50 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-04-13 07:49:50 +0000 |
commit | 7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06 (patch) | |
tree | d5d217cd4d21932fa490076d0dea9a259a9a8a31 /openssl/crypto/ec | |
parent | 125aba11ec484309e4dc5b2abf1b15ac98784159 (diff) | |
download | vcxsrv-7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06.tar.gz vcxsrv-7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06.tar.bz2 vcxsrv-7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06.zip |
Updated to openssl-1.0.0d
Diffstat (limited to 'openssl/crypto/ec')
-rw-r--r-- | openssl/crypto/ec/ec2_smpl.c | 3 | ||||
-rw-r--r-- | openssl/crypto/ec/ec_key.c | 8 | ||||
-rw-r--r-- | openssl/crypto/ec/ecp_smpl.c | 3 |
3 files changed, 13 insertions, 1 deletions
diff --git a/openssl/crypto/ec/ec2_smpl.c b/openssl/crypto/ec/ec2_smpl.c index cf357b462..af94458ca 100644 --- a/openssl/crypto/ec/ec2_smpl.c +++ b/openssl/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/openssl/crypto/ec/ec_key.c b/openssl/crypto/ec/ec_key.c index 12fb0e6d6..522802c07 100644 --- a/openssl/crypto/ec/ec_key.c +++ b/openssl/crypto/ec/ec_key.c @@ -304,7 +304,13 @@ int EC_KEY_check_key(const EC_KEY *eckey) ECerr(EC_F_EC_KEY_CHECK_KEY, ERR_R_PASSED_NULL_PARAMETER); return 0; } - + + if (EC_POINT_is_at_infinity(eckey->group, eckey->pub_key)) + { + ECerr(EC_F_EC_KEY_CHECK_KEY, EC_R_POINT_AT_INFINITY); + goto err; + } + if ((ctx = BN_CTX_new()) == NULL) goto err; if ((point = EC_POINT_new(eckey->group)) == NULL) diff --git a/openssl/crypto/ec/ecp_smpl.c b/openssl/crypto/ec/ecp_smpl.c index 4d26f8bdf..66a92e2a9 100644 --- a/openssl/crypto/ec/ecp_smpl.c +++ b/openssl/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) { |