diff options
Diffstat (limited to 'crypto/ec')
-rw-r--r-- | crypto/ec/ec_key.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c index 31ed8a58a8..14909b085c 100644 --- a/crypto/ec/ec_key.c +++ b/crypto/ec/ec_key.c @@ -399,8 +399,9 @@ int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, } ctx = BN_CTX_new(); if (ctx == NULL) - goto err; + return 0; + BN_CTX_start(ctx); point = EC_POINT_new(key->group); if (point == NULL) @@ -455,6 +456,7 @@ int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, ok = 1; err: + BN_CTX_end(ctx); BN_CTX_free(ctx); EC_POINT_free(point); return ok; |