diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-01-24 15:08:12 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-01-24 15:08:12 +0000 |
commit | 3c159fc1a5a3e8528bc321c3b65b0503d7c034bf (patch) | |
tree | 7d5e921acf1e8245ef352ab55525634b392858f3 /crypto | |
parent | 6056afd223dc7ed9c1b159c54a2a91ba503d5368 (diff) |
check EC public key isn't point at infinity
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/ec/ec_key.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c index 12fb0e6d6d..522802c07a 100644 --- a/crypto/ec/ec_key.c +++ b/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) |